From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: Andrea Arcangeli <andrea@suse.de>
Cc: "Juan J. Quintela" <quintela@fi.udc.es>,
linux-mm@kvack.org, linux-kernel@vger.rutgers.edu
Subject: Re: classzone-VM + mapped pages out of lru_cache
Date: 04 May 2000 18:48:38 +0200 [thread overview]
Message-ID: <shsya5q2rdl.fsf@charged.uio.no> (raw)
In-Reply-To: Andrea Arcangeli's message of "Thu, 4 May 2000 17:19:03 +0200 (CEST)"
>>>>> " " == Andrea Arcangeli <andrea@suse.de> writes:
> This untested patch should fix the problem also in 2.2.15 (the
> same way I fixed it in classzone patch):
> --- 2.2.15/mm/filemap.c Thu May 4 13:00:40 2000
> +++ /tmp/filemap.c Thu May 4 17:11:18 2000
> @@ -68,7 +68,7 @@
> p = &inode->i_pages; while ((page = *p) != NULL) {
> - if (PageLocked(page)) {
> + if (PageLocked(page) || atomic_read(&page->count) > 1) {
> p = &page->next; continue;
> }
> Trond, what do you think about it?
Not good. If I'm running /bin/bash, and somebody on the server updates
/bin/bash, then I don't want to reboot my machine. With the above
patch, then all new processes will receive a mixture of pages from the
old and the new file until by some accident I manage to clear the
cache of the bad pages.
We have to insist on the PageLocked() both in 2.2.x and 2.3.x because
only pages which are in the process of being read in are safe. If we
know we're scheduled to write out a full page then that would be safe
too, but that is the only such case.
Cheers,
Trond
PS: It would be nice to have truncate_inode_pages() work in the same
way as it does now: waiting on pages and locking them. This is useful
for reading in the directory pages, since they need to be read in
sequentially (please see the proposed patch I put on l-k earlier
today).
--
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.eu.org/Linux-MM/
next prev parent reply other threads:[~2000-05-04 16:48 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-05-03 16:26 Andrea Arcangeli
2000-05-04 0:42 ` David S. Miller
2000-05-04 10:00 ` Andrea Arcangeli
2000-05-04 14:40 ` Juan J. Quintela
2000-05-04 15:19 ` Andrea Arcangeli
2000-05-04 15:23 ` Andrea Arcangeli
2000-05-04 15:38 ` Rik van Riel
2000-05-04 17:59 ` Andrea Arcangeli
2000-05-04 19:24 ` Rik van Riel
2000-05-04 16:34 ` Manfred Spraul, Andrea Arcangeli
2000-05-04 16:48 ` Trond Myklebust [this message]
2000-05-04 18:43 ` Andrea Arcangeli
2000-05-04 19:32 ` Trond Myklebust
2000-05-04 20:15 ` Andrea Arcangeli
2000-05-05 7:01 ` Trond Myklebust
2000-05-04 16:34 ` Juan J. Quintela
2000-05-04 18:27 ` Chris Evans
[not found] <3911ECCD.BA1BB24E@arcormail.de>
2000-05-04 23:44 ` Andrea Arcangeli
2000-05-05 0:03 ` Jens Axboe
2000-05-05 3:04 ` David S. Miller
2000-05-05 8:43 ` Russell King
2000-05-05 14:56 ` Andrea Arcangeli
2000-05-06 13:37 ` Andrea Arcangeli
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=shsya5q2rdl.fsf@charged.uio.no \
--to=trond.myklebust@fys.uio.no \
--cc=andrea@suse.de \
--cc=linux-kernel@vger.rutgers.edu \
--cc=linux-mm@kvack.org \
--cc=quintela@fi.udc.es \
/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