From: Manfred Spraul <manfred@colorfullife.com>
To: Andrew Morton <akpm@osdl.org>
Cc: Dimitri Sivanich <sivanich@sgi.com>,
linux-kernel@vger.kernel.org, lse-tech@lists.sourceforge.net,
linux-mm@kvack.org
Subject: Re: [PATCH]: Option to run cache reap in thread mode
Date: Fri, 18 Jun 2004 23:04:05 +0200 [thread overview]
Message-ID: <40D358C5.9060003@colorfullife.com> (raw)
In-Reply-To: <20040618134045.2b7ce5c5.akpm@osdl.org>
Andrew Morton wrote:
>Dimitri Sivanich <sivanich@sgi.com> wrote:
>
>
>>At the time of the holdoff (the point where we've spent a total of 30 usec in
>>the timer_interrupt), we've looped through more than 100 of the 131 caches,
>>usually closer to 120.
>>
>>
>
>ahh, ooh, ow, of course.
>
>Manfred, we need a separate list of "slabs which might need reaping".
>
>
A cache that might need reaping is a cache that has seen at least one
kmem_cache_free(). The list would trade less time in the timer context
at the expense of slower kmem_cache_free calls. I'm fairly certain that
this would be end up as a big net loss.
>That'll help the average case. To help the worst case we should change
>cache_reap() to only reap (say) ten caches from the head of the new list
>and to then return.
>
I'll write something:
- allow to disable the DMA kmalloc caches for archs that do not need them.
- increase the timer frequency and scan only a few caches in each timer.
- perhaps a quicker test for cache_reap to notice that nothing needs to
be done. Right now four tests are done (!flags & _NO_REAP,
ac->touched==0, ac->avail != 0, global timer not yet expired). It's
possible to skip some tests. e.g. move the _NO_REAP caches on a separate
list, replace the time_after(.next_reap,jiffies) with a separate timer.
--
Manfred
WARNING: multiple messages have this Message-ID (diff)
From: Manfred Spraul <manfred@colorfullife.com>
To: Andrew Morton <akpm@osdl.org>
Cc: Dimitri Sivanich <sivanich@sgi.com>,
linux-kernel@vger.kernel.org, lse-tech@lists.sourceforge.net,
linux-mm@kvack.org
Subject: Re: [PATCH]: Option to run cache reap in thread mode
Date: Fri, 18 Jun 2004 23:04:05 +0200 [thread overview]
Message-ID: <40D358C5.9060003@colorfullife.com> (raw)
In-Reply-To: <20040618134045.2b7ce5c5.akpm@osdl.org>
Andrew Morton wrote:
>Dimitri Sivanich <sivanich@sgi.com> wrote:
>
>
>>At the time of the holdoff (the point where we've spent a total of 30 usec in
>>the timer_interrupt), we've looped through more than 100 of the 131 caches,
>>usually closer to 120.
>>
>>
>
>ahh, ooh, ow, of course.
>
>Manfred, we need a separate list of "slabs which might need reaping".
>
>
A cache that might need reaping is a cache that has seen at least one
kmem_cache_free(). The list would trade less time in the timer context
at the expense of slower kmem_cache_free calls. I'm fairly certain that
this would be end up as a big net loss.
>That'll help the average case. To help the worst case we should change
>cache_reap() to only reap (say) ten caches from the head of the new list
>and to then return.
>
I'll write something:
- allow to disable the DMA kmalloc caches for archs that do not need them.
- increase the timer frequency and scan only a few caches in each timer.
- perhaps a quicker test for cache_reap to notice that nothing needs to
be done. Right now four tests are done (!flags & _NO_REAP,
ac->touched==0, ac->avail != 0, global timer not yet expired). It's
possible to skip some tests. e.g. move the _NO_REAP caches on a separate
list, replace the time_after(.next_reap,jiffies) with a separate timer.
--
Manfred
--
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:"aart@kvack.org"> aart@kvack.org </a>
next prev parent reply other threads:[~2004-06-18 21:34 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-16 17:23 [PATCH]: Option to run cache reap in thread mode Manfred Spraul
2004-06-16 18:02 ` Dimitri Sivanich
2004-06-16 18:02 ` Dimitri Sivanich
2004-06-16 18:58 ` Manfred Spraul
2004-06-16 18:58 ` Manfred Spraul
2004-06-17 13:10 ` Dimitri Sivanich
2004-06-17 13:10 ` Dimitri Sivanich
2004-06-18 4:40 ` Andrew Morton
2004-06-18 4:40 ` Andrew Morton
2004-06-18 14:33 ` Dimitri Sivanich
2004-06-18 14:33 ` Dimitri Sivanich
2004-06-18 20:40 ` Andrew Morton
2004-06-18 20:40 ` Andrew Morton
2004-06-18 21:04 ` Manfred Spraul [this message]
2004-06-18 21:04 ` Manfred Spraul
2004-06-18 21:44 ` Dimitri Sivanich
2004-06-18 21:44 ` Dimitri Sivanich
2004-06-18 22:03 ` Andrew Morton
2004-06-18 22:03 ` Andrew Morton
-- strict thread matches above, loose matches on Subject: below --
2004-06-16 16:43 Mark_H_Johnson
2004-06-16 16:43 ` Mark_H_Johnson
[not found] <27JKg-4ht-11@gated-at.bofh.it>
2004-06-16 16:22 ` Andi Kleen
2004-06-16 18:16 ` Dimitri Sivanich
2004-06-16 18:16 ` Dimitri Sivanich
2004-06-16 14:24 Dimitri Sivanich
2004-06-16 14:24 ` Dimitri Sivanich
2004-06-16 15:29 ` Christoph Hellwig
2004-06-16 15:29 ` Christoph Hellwig
2004-06-16 16:03 ` Dimitri Sivanich
2004-06-16 16:03 ` Dimitri Sivanich
2004-06-16 16:07 ` Christoph Hellwig
2004-06-16 16:07 ` Christoph Hellwig
2004-06-16 16:25 ` Jesse Barnes
2004-06-16 16:25 ` Jesse Barnes
2004-06-16 16:51 ` Dimitri Sivanich
2004-06-16 16:51 ` Dimitri Sivanich
2004-06-16 16:46 ` Lori Gilbertson
2004-06-16 16:46 ` Lori Gilbertson
2004-06-16 16:53 ` Christoph Hellwig
2004-06-16 16:53 ` Christoph Hellwig
2004-06-16 21:30 ` Andrew Morton
2004-06-16 21:30 ` Andrew Morton
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=40D358C5.9060003@colorfullife.com \
--to=manfred@colorfullife.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lse-tech@lists.sourceforge.net \
--cc=sivanich@sgi.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.