Stuart O Anderson wrote:
Ok - here is the output I get in dmesg after inserting the driver and
issuing a bunch of rtifconfigs.
I don't think it matters, but I skip the rtifconfig on rteth1 because
it shares IRQ28 with another network device that is managed by the
linux kernel:

[233783.484112] Intel(R) PRO/1000 Network Driver - version 7.1.9
[233783.484195] Copyright (c) 1999-2006 Intel Corporation.
[233767.992350] e1000: 0000:04:04.0: e1000_probe:
(PCI-X:133MHz:64-bit) 00:0e:0c:bb:17:f0
[233768.018597] RTnet: registered rteth0
[233768.018670] e1000: rteth0: e1000_probe: Intel(R) PRO/1000 Network Connection
[233768.289300] e1000: 0000:04:04.1: e1000_probe:
(PCI-X:133MHz:64-bit) 00:0e:0c:bb:17:f1
[233768.315552] RTnet: registered rteth1
[233768.315624] e1000: rteth1: e1000_probe: Intel(R) PRO/1000 Network Connection
[233768.586269] e1000: 0000:04:06.0: e1000_probe:
(PCI-X:133MHz:64-bit) 00:0e:0c:bb:17:f2
[233768.612514] RTnet: registered rteth2
[233768.612587] e1000: rteth2: e1000_probe: Intel(R) PRO/1000 Network Connection
[233768.883231] e1000: 0000:04:06.1: e1000_probe:
(PCI-X:133MHz:64-bit) 00:0e:0c:bb:17:f3
[233768.909477] RTnet: registered rteth3
[233768.909550] e1000: rteth3: e1000_probe: Intel(R) PRO/1000 Network Connection
[233769.181519] e1000: 0000:0f:04.0: e1000_probe:
(PCI-X:133MHz:64-bit) 00:0e:0c:bb:17:68
[233769.207554] RTnet: registered rteth4
[233769.207626] e1000: rteth4: e1000_probe: Intel(R) PRO/1000 Network Connection
[233769.479494] e1000: 0000:0f:04.1: e1000_probe:
(PCI-X:133MHz:64-bit) 00:0e:0c:bb:17:69
[233769.505517] RTnet: registered rteth5
[233769.505589] e1000: rteth5: e1000_probe: Intel(R) PRO/1000 Network Connection
[233769.777455] e1000: 0000:0f:06.0: e1000_probe:
(PCI-X:133MHz:64-bit) 00:0e:0c:bb:17:6a
[233769.803479] RTnet: registered rteth6
[233769.803551] e1000: rteth6: e1000_probe: Intel(R) PRO/1000 Network Connection
[233770.075407] e1000: 0000:0f:06.1: e1000_probe:
(PCI-X:133MHz:64-bit) 00:0e:0c:bb:17:6b
[233770.101443] RTnet: registered rteth7
[233770.101515] e1000: rteth7: e1000_probe: Intel(R) PRO/1000 Network Connection
[233819.074069] e1000: rteth0: e1000_setup_rx_resources: Req Num: 1,
Size requested: 8192
[233822.079230] e1000: rteth2: e1000_setup_rx_resources: Req Num: 2,
Size requested: 8192
[233825.084213] e1000: rteth3: e1000_setup_rx_resources: Req Num: 3,
Size requested: 8192
[233828.089200] e1000: rteth4: e1000_setup_rx_resources: Req Num: 4,
Size requested: 8192
[233815.324930] e1000: rteth5: e1000_setup_rx_resources: Req Num: 5,
Size requested: 8192
[233815.325032] e1000: rteth5: e1000_setup_rx_resources: Unable to
allocate memory for the receive descriptor ring
[233815.325134] e1000: rteth5: e1000_setup_all_rx_resources:
Allocation for Rx Queue 0 failed

So this all looks just fine to me - why would a vmalloc of 8K be failing?
Additionally, when I rtifconfig rteth0 down; rtifconfig rteth5 up, It
works fine, with the following output in dmesg:

[234112.730753] e1000: rteth5: e1000_setup_rx_resources: Req Num: 6,
Size requested: 8192

I did notice that around line 254 the following #defines are introduced:

#define kmalloc(a,b) rtdm_malloc(a)
#define vmalloc(a) rtdm_malloc(a)
#define kfree(a) rtdm_free(a)
#define vfree(a) rtdm_free(a)

Ah, that is a good point!

I do not recall why we need this (it looks over-cautions on first glance). Mathias, can you help?


So maybe this is a xenomai problem?

The Xenomai real-time heap is 128K by default. Some other allocations may have used it before, and the above 6 x 8K may request 72K (with management overhead). Check /proc/xenomai/heap on its use.

For now you can increase the heap size at (kernel) compile time or via module/kernel parameter (xeno_nucleus.sysheap_size). Or you play with disabling those v/kmalloc wrappers...

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
RTnet-users mailing list
RTnet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to