Re: [MODSLAB 3/7] A Kmalloc subsystem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Christoph Lameter wrote:

If you have non-power-of-two caches, you could store the control data at
(addr&(~PAGE_SIZE)) - the lookup would be much faster. I wrote a patch a few
weeks ago, it's attached.

That would only work for slabs that use order 0 pages.

Most slabs are order 0. Actually: there are only 6 slabs that are not order 0 (excluding the kmalloc caches) on my system.

What about:

if (unlikely(addr & (~(PAGE_SIZE-1))))
   slabp=virt_to_page(addr)->pagefield;
else
   slabp=addr & (~(PAGE_SIZE-1));

Modify the kmalloc caches slightly and use non-power-of-2 cache sizes. Move the kmalloc(PAGE_SIZE) users to gfp.

From my system:
good order 1 slab caches: (i.e.: forcing them to order 0 wastes some memory)
   biovec-128
   blkdev_queue
   mqueue_inode_cache
   RAWv6
   UDPv6
bogus order 1 caches: (i.e.: they could be order 0 without wasting memory)
   biovec-(256)

--
   Manfred
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux