From: ebiederm+eric@npwt.net (Eric W. Biederman)
To: "Stephen C. Tweedie" <sct@redhat.com>
Cc: "Eric W. Biederman" <ebiederm+eric@npwt.net>, linux-mm@kvack.org
Subject: Re: More info: 2.1.108 page cache performance on low memory
Date: 17 Jul 1998 20:10:25 -0500 [thread overview]
Message-ID: <m14swgm0am.fsf@flinx.npwt.net> (raw)
In-Reply-To: "Stephen C. Tweedie"'s message of Tue, 14 Jul 1998 18:30:19 +0100
>>>>> "ST" == Stephen C Tweedie <sct@redhat.com> writes:
ST> Hi,
ST> On 13 Jul 1998 13:08:56 -0500, ebiederm+eric@npwt.net (Eric
ST> W. Biederman) said:
>>>>>>> "ST" == Stephen C Tweedie <sct@redhat.com> writes:
>> 1) We have a minimum size for the buffer cache in percent of physical pages.
>> Setting the minimum to 0% may help.
ST> ...
>> Personally I think it is broken to set the limits of cache sizes
>> (buffer & page) to anthing besides: max=100% min=0% by default.
ST> Yep; I disabled those limits for the benchmarks I announced. Disabling
ST> the ageing but keeping the limits in place still resulted in a
ST> performance loss.
>> 2) If we play with LRU list it may be most practical use page->next
>> and page->prev fields for the list, and for truncate_inode_pages &&
>> invalidate_inode_pages
ST> Yikes --- for large files the proposal that we do
>> do something like:
>> for(i = 0; i < inode->i_size; i+= PAGE_SIZE) {
>> page = find_in_page_cache(inode, i);
>> if (page)
>> /* remove it */
>> ;
>> }
ST> will be disasterous. No, I think we still need the per-inode page
ST> lists. When we eventually get an fsync() which works through the page
ST> cache, this will become even more important.
Duh. Ext2 only does with in truncate with the block cache on a real
truncate, when and inode is closed it doesn't need to do that. Sorry
I though I had precedent for that algorithm.
O.k. scracth that idea.
So I guess a LRU list for pages will require that we increase the size
of struct page. I guess it is makes sense if we can ultimately:
a) use if for every page on the system ala the swap cache.
b) remove the buffer cache which should provide the necessary
expansion room. So we won't ultimately use more space.
c) use it for a lru on dirty pages.
d) doesn't fragment memory with slabs...
I hate considering expanding struct page after all of the work
that has gone into shriking the lately....
And for writes it looks like I'll need a write time too, for best
performance. I've written the code I just haven't tested it yet.
Zlatko could I talk you into setting the defines in mmap.h so it shmfs
will use those and report if bonnie improves...
Eric
p.s. Everyone please excuse any slow replies I'm in the middle of
moving and I can't read my mail too often.
--
This is a majordomo managed list. To unsubscribe, send a message with
the body 'unsubscribe linux-mm me@address' to: majordomo@kvack.org
next prev parent reply other threads:[~1998-07-18 2:30 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-07-13 16:53 Stephen C. Tweedie
1998-07-13 18:08 ` Eric W. Biederman
1998-07-13 18:29 ` Zlatko Calusic
1998-07-14 17:32 ` Stephen C. Tweedie
1998-07-16 12:31 ` Zlatko Calusic
1998-07-14 17:30 ` Stephen C. Tweedie
1998-07-18 1:10 ` Eric W. Biederman [this message]
1998-07-18 13:28 ` Zlatko Calusic
1998-07-18 16:40 ` Eric W. Biederman
1998-07-20 9:15 ` Zlatko Calusic
1998-07-22 10:40 ` Stephen C. Tweedie
1998-07-23 10:06 ` Zlatko Calusic
1998-07-23 12:22 ` Stephen C. Tweedie
1998-07-23 14:07 ` Zlatko Calusic
1998-07-23 17:18 ` Stephen C. Tweedie
1998-07-23 19:33 ` Zlatko Calusic
1998-07-27 10:57 ` Stephen C. Tweedie
1998-07-26 14:49 ` Eric W Biederman
1998-07-27 11:02 ` Stephen C. Tweedie
1998-08-02 5:19 ` Eric W Biederman
1998-08-17 13:57 ` Stephen C. Tweedie
1998-08-17 15:35 ` Stephen C. Tweedie
1998-08-20 12:40 ` Eric W. Biederman
1998-07-20 15:58 ` Stephen C. Tweedie
1998-07-22 10:36 ` Stephen C. Tweedie
1998-07-22 18:01 ` Rik van Riel
1998-07-23 10:59 ` Stephen C. Tweedie
1998-07-22 10:33 ` Stephen C. Tweedie
1998-07-23 10:59 ` Zlatko Calusic
1998-07-23 12:23 ` Stephen C. Tweedie
1998-07-23 15:06 ` Zlatko Calusic
1998-07-23 15:17 ` Benjamin C.R. LaHaise
1998-07-23 15:25 ` Zlatko Calusic
1998-07-23 17:27 ` Benjamin C.R. LaHaise
1998-07-23 19:17 ` Dr. Werner Fink
1998-07-23 17:12 ` Stephen C. Tweedie
1998-07-23 17:42 ` Zlatko Calusic
1998-07-23 19:12 ` Dr. Werner Fink
1998-07-27 10:40 ` Stephen C. Tweedie
1998-07-23 19:51 ` Rik van Riel
1998-07-24 11:21 ` Zlatko Calusic
1998-07-24 14:25 ` Rik van Riel
1998-07-24 17:01 ` Zlatko Calusic
1998-07-24 21:55 ` Rik van Riel
1998-07-25 13:05 ` Zlatko Calusic
1998-07-27 10:54 ` Stephen C. Tweedie
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=m14swgm0am.fsf@flinx.npwt.net \
--to=ebiederm+eric@npwt.net \
--cc=linux-mm@kvack.org \
--cc=sct@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox