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
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