virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
To: Dave Hansen <haveblue@us.ibm.com>
Cc: Andy Whitcroft <apw@shadowen.org>,
	linux-kernel@vger.kernel.org, virtualization@lists.osdl.org,
	akpm@osdl.org, nickpiggin@yahoo.com.au, frankeh@watson.ibm.com
Subject: Re: [patch 3/9] Guest page hinting: volatile page cache.
Date: Mon, 04 Sep 2006 13:21:23 +0200	[thread overview]
Message-ID: <1157368883.5078.24.camel@localhost> (raw)
In-Reply-To: <1157136106.18728.27.camel@localhost.localdomain>

On Fri, 2006-09-01 at 11:41 -0700, Dave Hansen wrote:
> While something like the following wouldn't be scalable, it would
> functionally work, right?
> 
> +static void __page_discard(struct page *page)
> +{
> +       spin_lock(discard_lock);
> ...
> +       spin_unlock(discard_lock);
> +}
> 
> +void __delete_from_swap_cache(struct page *page)
> +{
> +       spin_lock(discard_lock);
> ...
> +       spin_unlock(discard_lock);
> +}
> 
> +void __remove_from_page_cache(struct page *page)
> +{
> +       spin_lock(discard_lock);
> ...
> +       spin_unlock(discard_lock);
> +}

Any kind of locking won't work. You need the information that a page has
been discarded until the page has been freed. Only then the fact that
the page has been discarded may enter nirvana. Any kind of lock needs to
be freed again to allow the next discard fault to happen. Since you
don't when the last page reference is returned you cannot hold the lock
until the page is free.

-- 
blue skies,
  Martin.

Martin Schwidefsky
Linux for zSeries Development & Services
IBM Deutschland Entwicklung GmbH

"Reality continues to ruin my life." - Calvin.



-- 
VGER BF report: H 0

  reply	other threads:[~2006-09-04 11:21 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-01 11:09 [patch 3/9] Guest page hinting: volatile page cache Martin Schwidefsky
2006-09-01 14:54 ` Dave Hansen
2006-09-01 15:29   ` Martin Schwidefsky
2006-09-01 15:37     ` Dave Hansen
2006-09-01 14:57 ` Dave Hansen
2006-09-01 15:31   ` Martin Schwidefsky
2006-09-01 15:48     ` Andy Whitcroft
2006-09-01 16:04       ` Martin Schwidefsky
2006-09-01 16:18         ` Dave Hansen
2006-09-01 16:25           ` Martin Schwidefsky
2006-09-01 16:37             ` Dave Hansen
2006-09-01 16:56               ` Martin Schwidefsky
2006-09-01 17:16                 ` Dave Hansen
2006-09-01 17:42                   ` Martin Schwidefsky
2006-09-01 18:03                     ` Dave Hansen
2006-09-01 18:04                       ` Martin Schwidefsky
2006-09-01 18:23                         ` Dave Hansen
2006-09-01 18:31                           ` Martin Schwidefsky
2006-09-01 18:41                             ` Dave Hansen
2006-09-04 11:21                               ` Martin Schwidefsky [this message]
2006-09-05 18:27                                 ` Dave Hansen
2006-09-06 10:49                                   ` Martin Schwidefsky
2006-09-01 16:29         ` Dave Hansen
2006-09-01 17:02           ` Martin Schwidefsky
2006-09-01 17:05             ` Dave Hansen
2006-09-13 18:21 ` Zachary Amsden
2006-09-14  8:56   ` Martin Schwidefsky
2006-09-14  9:23     ` Zachary Amsden
2006-09-15  8:36       ` Martin Schwidefsky
  -- strict thread matches above, loose matches on Subject: below --
2006-09-15 17:50 Chuck Ebbert
2006-09-18  8:08 ` Martin Schwidefsky

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=1157368883.5078.24.camel@localhost \
    --to=schwidefsky@de.ibm.com \
    --cc=akpm@osdl.org \
    --cc=apw@shadowen.org \
    --cc=frankeh@watson.ibm.com \
    --cc=haveblue@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nickpiggin@yahoo.com.au \
    --cc=virtualization@lists.osdl.org \
    /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;
as well as URLs for NNTP newsgroup(s).