mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Hugh Dickins <hugh@veritas.com>
To: Petr Vandrovec <vandrove@vc.cvut.cz>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Nick's core remove PageReserved broke vmware...
Date: Wed, 2 Nov 2005 12:26:34 +0000 (GMT)	[thread overview]
Message-ID: <Pine.LNX.4.61.0511021208070.7300@goblin.wat.veritas.com> (raw)
In-Reply-To: <4368139A.30701@vc.cvut.cz>

On Wed, 2 Nov 2005, Petr Vandrovec wrote:
> 
> Nope.  We are not having PageReserved() set on our pages since we want them
> refcounted.  But old SuSE kernels contained this code which was rather unhappy
> if page did not have ->mapping set.

Yes, Andrea's do_no_page enforced some tests which I found confusing and
unhelpful, so I didn't propagate them to mainline when porting his rmap.

> So we just marked vma VM_RESERVED, as it
> did not hurt, and all pages in this vma have refcount > 1 anyway so there is
> no point in trying to cleanup these page tables.  Now rmap catches this by
> page_count() != page_mapcount(), so VM_RESERVED is not needed anymore, but
> there did not seem to be any reason to remove it.

Well, beware.  That "page_count() != page_mapcount() + 2" check in rmap.c
went away in 2.6.13: the problem it was there to solve being solved
instead by a can_share_swap_page based on page_mapcount instead of
page_count (partly to fix a page migration progress problem).

So, you may still be in trouble?  But how do the pages you're concerned
with come to be on the LRU in the first place?  If they're not on the
LRU, vmscanning will never try to take them away.  Most drivers with
special pages, and ->mapping unset, don't put the pages on the LRU.

> --- vmmon-only/linux/driver.c.orig	2005-11-02 02:00:46.000000000 +0100
> +++ vmmon-only/linux/driver.c	2005-11-01 20:12:13.000000000 +0100
> @@ -1283,9 +1283,13 @@
> /*
> * It seems that SuSE's 2.6.4-52 needs this.  Hopefully
> * it will not break anything else.
> +    *
> +    * It breaks on post 2.6.14 kernels, so get rid of it on them.
>    */
>  #ifdef VM_RESERVED
> +#  if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 14)
>     vma->vm_flags |= VM_RESERVED;
> +#  endif
> #endif
>   return 0;
> }

Nick's PageReserved/VM_RESERVED changes are not in 2.6.14 so I'd expect
2.6.15 there.  Ah, you're trying to handle this awkward interval before
2.6.15-rc1 brings the numbering up to 2.6.15, okay.

Hugh

  parent reply	other threads:[~2005-11-02 12:27 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-01 19:30 Petr Vandrovec
2005-11-02  0:34 ` Nick Piggin
2005-11-02  1:17   ` Petr Vandrovec
2005-11-02  2:09     ` Nick Piggin
2005-11-02 12:26     ` Hugh Dickins [this message]
2005-11-02 18:06       ` Petr Vandrovec
2005-11-02 21:04       ` Benjamin Herrenschmidt
2005-11-02 21:41         ` Hugh Dickins
2005-11-02 21:45           ` Benjamin Herrenschmidt
2005-11-02 22:02             ` Hugh Dickins
2005-11-02 22:22               ` Benjamin Herrenschmidt
2005-11-03  8:03                 ` Gleb Natapov
2005-11-03 13:32                   ` Hugh Dickins
2005-11-03 13:55                     ` Gleb Natapov
2005-11-03 21:21                       ` Benjamin Herrenschmidt
2005-11-02 22:39               ` Petr Vandrovec
2005-11-03  8:12               ` Gleb Natapov
2005-11-03 14:11                 ` Hugh Dickins
2005-11-03 14:22                   ` Gleb Natapov
2005-11-03 14:37                   ` Michael S. Tsirkin
2005-11-03 14:59                     ` Hugh Dickins
2005-11-03 15:09                       ` Gleb Natapov
2005-11-03 15:14                       ` Michael S. Tsirkin
2005-11-03 15:37                         ` Hugh Dickins
2005-11-03 15:53                           ` Gleb Natapov
2005-11-03 15:56                           ` Michael S. Tsirkin
2005-11-08 21:34                   ` Michael S. Tsirkin
2005-11-10 12:35                     ` Gleb Natapov
2005-11-10 12:48                       ` Michael S. Tsirkin
2005-11-10 12:49                         ` Gleb Natapov
2005-11-10 13:16                           ` Michael S. Tsirkin
2005-11-10 13:16                             ` Gleb Natapov
2005-11-10 13:21                             ` Hugh Dickins
2005-11-10 13:26                               ` Gleb Natapov
2005-11-10 13:15                         ` Hugh Dickins
2005-11-10 13:10                     ` Hugh Dickins
2005-11-10 13:37                       ` Michael S. Tsirkin
2005-11-10 13:55                         ` Hugh Dickins
2005-11-10 14:12                           ` Michael S. Tsirkin
2005-11-14 12:25                       ` Michael S. Tsirkin
2005-11-14 12:27                         ` Gleb Natapov
2005-11-14 12:34                           ` Michael S. Tsirkin
2005-11-14 12:40                             ` Hugh Dickins
2005-11-14 14:57                               ` Michael S. Tsirkin
2005-11-14 15:07                                 ` Gleb Natapov
2005-11-14 12:41                             ` Gleb Natapov
2005-11-14 14:52                       ` Michael S. Tsirkin
2005-11-14 15:00                         ` Gleb Natapov
2005-11-14 20:23                           ` Michael S. Tsirkin
2005-11-15  9:26                             ` Gleb Natapov
2005-11-14 15:58                         ` Hugh Dickins
2005-11-14 21:17                           ` Michael S. Tsirkin

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.61.0511021208070.7300@goblin.wat.veritas.com \
    --to=hugh@veritas.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nickpiggin@yahoo.com.au \
    --cc=vandrove@vc.cvut.cz \
    /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

all inboxes | Powered by JetHome®