Prev: [tip:perf/core] perf tools: Use common process_event functions for annotate and report
Next: proc_fops: convert drivers/isdn/ to seq_file
From: Andi Kleen on 24 Nov 2009 15:40 Eric Dumazet <eric.dumazet(a)gmail.com> writes: > David Miller a �crit : >> From: Eric Dumazet <eric.dumazet(a)gmail.com> >> Date: Tue, 24 Nov 2009 19:26:15 +0100 >> >>> It seems complex to me, maybe optimal thing would be to use a NUMA policy to >>> spread vmalloc() allocations to all nodes to get a good bandwidth... >> >> vmalloc() and sk_buff's don't currently mix and I really don't see us >> every allowing them to :-) > > I think Peter was referring to tx/rx rings buffers, not sk_buffs. > > They (ring buffers) are allocated with vmalloc() at driver init time. They are typically allocated with dma_alloc_coherent(), which does allocate a continuous area. In theory you could do interleaving with IOMMus, but just putting it on the same node as the device is probably better. -Andi -- ak(a)linux.intel.com -- Speaking for myself only. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Andi Kleen on 25 Nov 2009 05:40 Works here > > dmesg | grep -i node > [ 0.000000] SRAT: PXM 0 -> APIC 0 -> Node 0 > [ 0.000000] SRAT: PXM 0 -> APIC 1 -> Node 0 > [ 0.000000] SRAT: PXM 0 -> APIC 2 -> Node 0 > [ 0.000000] SRAT: PXM 0 -> APIC 3 -> Node 0 > [ 0.000000] SRAT: PXM 0 -> APIC 4 -> Node 0 > [ 0.000000] SRAT: PXM 0 -> APIC 5 -> Node 0 > [ 0.000000] SRAT: PXM 0 -> APIC 6 -> Node 0 > [ 0.000000] SRAT: PXM 0 -> APIC 7 -> Node 0 You seem to only have 8 CPUs (one socket) Normally a dual socket nehalem should have 16 with HyperThreading enabled. For some reason the BIOS is not reporting the other CPU. You could double check with acpidmp / iasl -d if that's what the BIOS really reports, but normally it should work. > [ 0.000000] SRAT: Node 0 PXM 0 0-e0000000 > [ 0.000000] SRAT: Node 0 PXM 0 100000000-220000000 > [ 0.000000] SRAT: Node 1 PXM 1 220000000-420000000 -Andi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Andi Kleen on 25 Nov 2009 07:00
On Wed, Nov 25, 2009 at 12:35:03PM +0100, Eric Dumazet wrote: > > You seem to only have 8 CPUs (one socket) Normally a dual socket nehalem > > should have 16 with HyperThreading enabled. > > > > For some reason the BIOS is not reporting the other CPU. > > > > You could double check with acpidmp / iasl -d if that's > > what the BIOS really reports, but normally it should work. > > > > Good Lord, I had a CONFIG_NR_CPUS=16 in my .config. That should be enough for a two socket (2S x 4C x 2T) today, but of course that will eventually change too. > Changing to to 32 or 64 seems better :) That looks weird. It should have worked with CONFIG_NR_CPUS==16 too, because you only have 16 CPUs and the NR_CPUS should affect APIC ranges etc. Something still fishy. I would properly report it. BTW kernel should give some error message in any case when there are not enough CPUs I guess. -Andi -- ak(a)linux.intel.com -- Speaking for myself only. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |