Re: [Q] Default SLAB allocator
From: Tim Bird
Date: Wed Oct 17 2012 - 16:54:31 EST
On 10/17/2012 12:13 PM, Eric Dumazet wrote:
> On Wed, 2012-10-17 at 11:45 -0700, Tim Bird wrote:
>> 8G is a small web server? The RAM budget for Linux on one of
>> Sony's cameras was 10M. We're not merely not in the same ballpark -
>> you're in a ballpark and I'm trimming bonsai trees... :-)
> Even laptops in 2012 have +4GB of ram.
> (Maybe not Sony laptops, I have to double check ?)
> Yes, servers do have more ram than laptops.
> (Maybe not Sony servers, I have to double check ?)
I wouldn't know. I suspect they are running 4GB+
like everyone else.
>>> # grep Slab /proc/meminfo
>>> Slab: 351592 kB
>>> # egrep "kmalloc-32|kmalloc-16|kmalloc-8" /proc/slabinfo
>>> kmalloc-32 11332 12544 32 128 1 : tunables 0 0 0 : slabdata 98 98 0
>>> kmalloc-16 5888 5888 16 256 1 : tunables 0 0 0 : slabdata 23 23 0
>>> kmalloc-8 76563 82432 8 512 1 : tunables 0 0 0 : slabdata 161 161 0
>>> Really, some waste on these small objects is pure noise on SMP hosts.
>> In this example, it appears that if all kmalloc-8's were pushed into 32-byte slabs,
>> we'd lose about 1.8 meg due to pure slab overhead. This would not be noise
>> on my system.
> I said :
> I would remove small kmalloc-XX caches, as sharing a cache line
> is sometime dangerous for performance, because of false sharing.
> They make sense only for very small hosts
> I think your 10M cameras are very tiny hosts.
I agree. Actually, I'm currently doing research for
items with smaller memory footprints that this. My current
target is devices with 4M RAM and 8M NOR flash.
Undoubtedly this is different than what a lot of other
people are doing with Linux.
> Using SLUB on them might not be the best choice.
I'm still interested in the dynamics of the slab sizes
and how it impacts performance, how much memory is wasted, etc.
I think there are a few "power-of-two-and-a-half" kmalloc
slabs (e.g. kmalloc-192). Are these configurable anywhere?
Anyway, I greatly appreciate the discussion.
> First time I ran linux, years ago, it was on 486SX machines with 8M of
> memory (or maybe less, I dont remember exactly). But I no longer use
> this class of machines with recent kernels.
I ran a web server on an 8M machine that had an uptime of over 2 years,
but that was in the mid-90's. Ahhh - those were the days...
Architecture Group Chair, CE Workgroup of the Linux Foundation
Senior Staff Engineer, Sony Network Entertainment
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/