All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Ungerer <gerg@snapgear.com>
To: Mike Frysinger <vapier@gentoo.org>
Cc: linux-kernel@vger.kernel.org, David Howells <dhowells@redhat.com>,
	David McCullough <davidm@snapgear.com>,
	Paul Mundt <lethal@linux-sh.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH] rmap: fixup page_referenced() for nommu systems
Date: Mon, 22 Jun 2009 17:35:43 +1000	[thread overview]
Message-ID: <4A3F344F.1070206@snapgear.com> (raw)
In-Reply-To: <1245371813-30954-1-git-send-email-vapier@gentoo.org>


Mike Frysinger wrote:
> After the recent changes that went into mm/vmscan.c to overhaul stuff, we
> ended up with these warnings on no-mmu systems:
> mm/vmscan.c: In function ‘shrink_page_list’:
> mm/vmscan.c:580: warning: unused variable ‘vm_flags’
> mm/vmscan.c: In function ‘shrink_active_list’:
> mm/vmscan.c:1294: warning: ‘vm_flags’ may be used uninitialized in this function
> mm/vmscan.c:1242: note: ‘vm_flags’ was declared here
> 
> This is because the no-mmu function defines page_referenced() to work on
> the first argument only (the page).  It does not clear the vm_flags given
> to it because for no-mmu systems, they never actually get utilized.  Since
> that is no longer strictly true, we need to set vm_flags to 0 like everyone
> else so gcc can do proper dead code elimination without annoying us with
> unused warnings.
> 
> Signed-off-by: Mike Frysinger <vapier@gentoo.org>

Acked-by: Greg Ungerer <gerg@uclinux.org>



>  include/linux/rmap.h |    9 ++++++++-
>  1 files changed, 8 insertions(+), 1 deletions(-)
> 
> diff --git a/include/linux/rmap.h b/include/linux/rmap.h
> index 216d024..bf116d0 100644
> --- a/include/linux/rmap.h
> +++ b/include/linux/rmap.h
> @@ -118,7 +118,14 @@ int try_to_munlock(struct page *);
>  #define anon_vma_prepare(vma)	(0)
>  #define anon_vma_link(vma)	do {} while (0)
>  
> -#define page_referenced(page, locked, cnt, flags) TestClearPageReferenced(page)
> +static inline int page_referenced(struct page *page, int is_locked,
> +				  struct mem_cgroup *cnt,
> +				  unsigned long *vm_flags)
> +{
> +	*vm_flags = 0;
> +	return TestClearPageReferenced(page);
> +}
> +
>  #define try_to_unmap(page, refs) SWAP_FAIL
>  
>  static inline int page_mkclean(struct page *page)

-- 
------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
825 Stanley St,                             FAX:         +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com

      parent reply	other threads:[~2009-06-22  7:35 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-19  0:36 [PATCH] rmap: fixup page_referenced() for nommu systems Mike Frysinger
2009-06-19  2:26 ` Paul Mundt
2009-06-19 10:58 ` David Howells
2009-06-22  7:35 ` Greg Ungerer [this message]

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=4A3F344F.1070206@snapgear.com \
    --to=gerg@snapgear.com \
    --cc=akpm@linux-foundation.org \
    --cc=davidm@snapgear.com \
    --cc=dhowells@redhat.com \
    --cc=lethal@linux-sh.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vapier@gentoo.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.