From: Alexey Starikovskiy <aystarik@gmail.com>
To: Nick Piggin <npiggin@suse.de>
Cc: Christoph Lameter <cl@linux-foundation.org>,
Pekka Enberg <penberg@cs.helsinki.fi>,
Linux Memory Management List <linux-mm@kvack.org>,
linux-acpi@vger.kernel.org, lenb@kernel.org
Subject: Re: [patch][rfc] acpi: do not use kmem caches
Date: Mon, 01 Dec 2008 20:04:21 +0300 [thread overview]
Message-ID: <49341915.5000900@gmail.com> (raw)
In-Reply-To: <20081201162018.GF10790@wotan.suse.de>
Nick Piggin wrote:
> On Mon, Dec 01, 2008 at 05:48:05PM +0300, Alexey Starikovskiy wrote:
>
>> Christoph Lameter wrote:
>>
>>> On Mon, 1 Dec 2008, Pekka Enberg wrote:
>>>
>>>
>>>
>>>> Why do you think Nick's patch is going to _increase_ memory consumption?
>>>> SLUB _already_ merges the ACPI caches with kmalloc caches so you won't
>>>> see any difference there. For SLAB, it's a gain because there's not
>>>> enough activity going on which results in lots of unused space in the
>>>> slabs (which is, btw, the reason SLUB does slab merging in the first
>>>> place).
>>>>
>>>>
>>> The patch is going to increase memory consumption because the use of
>>> the kmalloc array means that the allocated object sizes are rounded up to
>>> the next power of two.
>>>
>>> I would recommend to keep the caches. Subsystem specific caches help to
>>> simplify debugging and track the memory allocated for various purposes in
>>> addition to saving the rounding up to power of two overhead.
>>> And with SLUB the creation of such caches usually does not require
>>> additional memory.
>>>
>>> Maybe it would be best to avoid kmalloc as much as possible.
>>>
>>>
>>>
>> Christoph,
>> Thanks for support, these were my thoughts, when I changed ACPICA to use
>> kmem_cache instead of
>> it's own on top of kmalloc 4 years ago...
>> Here are two acpi caches on my thinkpad z61m, IMHO any laptop will show
>> similar numbers:
>>
>> aystarik@thinkpad:~$ cat /proc/slabinfo | grep Acpi
>> Acpi-ParseExt 2856 2856 72 56 1 : tunables 0 0
>> 0 : slabdata 51 51 0
>> Acpi-Parse 170 170 48 85 1 : tunables 0 0
>> 0 : slabdata 2 2 0
>>
>> Size of first will become 96 and size of second will be 64 if kmalloc is
>> used, and we don't count ACPICA internal overhead.
>> Number of used blocks is not smallest in the list of slabs, actually it
>> is among the highest.
>>
>
> Hmm.
> Acpi-Operand 2641 2773 64 59 1 : tunables 120 60 8 : slabdata 47 47 0
> Acpi-ParseExt 0 0 64 59 1 : tunables 120 60 8 : slabdata 0 0 0
> Acpi-Parse 0 0 40 92 1 : tunables 120 60 8 : slabdata 0 0 0
> Acpi-State 0 0 80 48 1 : tunables 120 60 8 : slabdata 0 0 0
> Acpi-Namespace 1711 1792 32 112 1 : tunables 120 60 8 : slabdata 16 16 0
>
>
> Looks different for my thinkpad.
>
Probably this is SLUB vs. SLAB thing Pecca was talking about...
And, probably you run at 32-bit? This is part of my .config:
--------------------------------------------
CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
-------------------------------------------
With your patch you would be able to save 64*(2773 - 2641) + 32 *
(1792-1711)= 8448 + 2592 = 11040 bytes of memory, less than 3 pages?
2856 * (96-72) = 68544 bytes and 170 * (64-48) = 2720 bytes, so you will be wasting 5 times more memory in 64 bit case.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2008-12-01 17:04 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-01 8:31 Nick Piggin
2008-12-01 11:18 ` Pekka Enberg
2008-12-01 12:00 ` Nick Piggin
2008-12-01 13:12 ` Alexey Starikovskiy
2008-12-01 13:36 ` Nick Piggin
2008-12-01 14:14 ` Alexey Starikovskiy
2008-12-01 16:32 ` Nick Piggin
2008-12-01 17:18 ` Christoph Hellwig
2008-12-01 17:32 ` Alexey Starikovskiy
2008-12-01 13:37 ` Pekka Enberg
2008-12-01 14:02 ` Alexey Starikovskiy
2008-12-01 16:14 ` Nick Piggin
2008-12-01 16:45 ` Alexey Starikovskiy
2008-12-01 16:58 ` Nick Piggin
2008-12-01 17:20 ` Moore, Robert
2008-12-01 17:30 ` Andi Kleen
2008-12-01 17:32 ` Moore, Robert
2008-12-01 17:20 ` Christoph Hellwig
2008-12-01 17:49 ` Alexey Starikovskiy
2008-12-01 17:53 ` Len Brown
2008-12-01 18:10 ` Nick Piggin
2008-12-31 22:04 ` Len Brown
2009-01-05 4:14 ` Nick Piggin
2009-01-05 5:43 ` Skywing
2009-01-05 6:55 ` Nick Piggin
2008-12-01 14:32 ` Christoph Lameter
2008-12-01 14:48 ` Alexey Starikovskiy
2008-12-01 16:20 ` Nick Piggin
2008-12-01 17:04 ` Alexey Starikovskiy [this message]
2008-12-01 17:12 ` Nick Piggin
2008-12-01 17:25 ` Pekka Enberg
2008-12-01 17:32 ` Pekka Enberg
2008-12-01 17:36 ` Alexey Starikovskiy
2008-12-01 17:48 ` Pekka Enberg
2008-12-01 18:09 ` Christoph Lameter
2008-12-01 17:43 ` Alexey Starikovskiy
2008-12-01 17:31 ` Len Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49341915.5000900@gmail.com \
--to=aystarik@gmail.com \
--cc=cl@linux-foundation.org \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=npiggin@suse.de \
--cc=penberg@cs.helsinki.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox