linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: riel@nl.linux.org
Cc: "Juan J. Quintela" <quintela@fi.udc.es>,
	linux-mm@kvack.org, linux-kernel@vger.rutgers.edu,
	trond.myklebust@fys.uio.no
Subject: Re: classzone-VM + mapped pages out of lru_cache
Date: Thu, 4 May 2000 19:59:23 +0200 (CEST)	[thread overview]
Message-ID: <Pine.LNX.4.21.0005041952280.3416-100000@alpha.random> (raw)
In-Reply-To: <Pine.LNX.4.21.0005041234490.23740-100000@duckman.conectiva>

On Thu, 4 May 2000, Rik van Riel wrote:

>On Thu, 4 May 2000, Andrea Arcangeli wrote:
>
>> --- 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;
>>  		}
		XXXXXXXXXXXXXXXX
>
>Fun, fun, fun ...
>
>So the other CPU takes a lock on the page while we're testing
>for the page->count and increments the pagecount after the lock,
>while we try to do something (call __free_page(page)?) with the
>page ...

You're obviously wrong:

1) the other cpu on 2.2.15 were spinning on the big kernel lock
   and had no way to try to lock down the page we're processing.
2) if what you described above would be true, then virgin 2.2.15 and
   all the 2.2.x official/unofficial kernels out there would
   have a major SMP race anyway (not thanks to my above fix) because it
   would mean that in point XXXXXXXXXXXXXXXXX the page could become locked
   from under us.

Andrea

--
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/

  reply	other threads:[~2000-05-04 17:59 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 [this message]
2000-05-04 19:24         ` Rik van Riel
2000-05-04 16:34     ` Manfred Spraul, Andrea Arcangeli
2000-05-04 16:48     ` Trond Myklebust
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=Pine.LNX.4.21.0005041952280.3416-100000@alpha.random \
    --to=andrea@suse.de \
    --cc=linux-kernel@vger.rutgers.edu \
    --cc=linux-mm@kvack.org \
    --cc=quintela@fi.udc.es \
    --cc=riel@nl.linux.org \
    --cc=trond.myklebust@fys.uio.no \
    /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