From: Andrew Morton <akpm@linux-foundation.org>
To: Glauber Costa <glommer@openvz.org>
Cc: linux-fsdevel@vger.kernel.org, mgorman@suse.de,
david@fromorbit.com, linux-mm@kvack.org, cgroups@vger.kernel.org,
kamezawa.hiroyu@jp.fujitsu.com, mhocko@suze.cz,
hannes@cmpxchg.org, hughd@google.com, gthelen@google.com,
Dave Chinner <dchinner@redhat.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
Gleb Natapov <gleb@redhat.com>,
Chuck Lever <chuck.lever@oracle.com>,
"J. Bruce Fields" <bfields@redhat.com>,
Trond Myklebust <Trond.Myklebust@netapp.com>
Subject: Re: [PATCH v11 22/25] shrinker: convert remaining shrinkers to count/scan API
Date: Thu, 6 Jun 2013 15:31:09 -0700 [thread overview]
Message-ID: <20130606153109.cd042659b133c607e612d927@linux-foundation.org> (raw)
In-Reply-To: <1370550898-26711-23-git-send-email-glommer@openvz.org>
On Fri, 7 Jun 2013 00:34:55 +0400 Glauber Costa <glommer@openvz.org> wrote:
> From: Dave Chinner <dchinner@redhat.com>
>
> Convert the remaining couple of random shrinkers in the tree to the
> new API.
>
> @@ -4247,24 +4246,35 @@ static int mmu_shrink(struct shrinker *shrink, struct shrink_control *sc)
> idx = srcu_read_lock(&kvm->srcu);
> spin_lock(&kvm->mmu_lock);
>
> - prepare_zap_oldest_mmu_page(kvm, &invalid_list);
> + freed += prepare_zap_oldest_mmu_page(kvm, &invalid_list);
prepare_zap_oldest_mmu_page() returns bool. Adding it to a scalar is
weird. I did this:
From: Andrew Morton <akpm@linux-foundation.org>
Subject: shrinker-convert-remaining-shrinkers-to-count-scan-api-fix
fix warnings
Cc: Dave Chinner <dchinner@redhat.com>
Cc: Glauber Costa <glommer@openvz.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
arch/x86/kvm/mmu.c | 9 +++++----
net/sunrpc/auth.c | 6 +++---
2 files changed, 8 insertions(+), 7 deletions(-)
diff -puN arch/x86/kvm/mmu.c~shrinker-convert-remaining-shrinkers-to-count-scan-api-fix arch/x86/kvm/mmu.c
--- a/arch/x86/kvm/mmu.c~shrinker-convert-remaining-shrinkers-to-count-scan-api-fix
+++ a/arch/x86/kvm/mmu.c
@@ -4213,12 +4213,12 @@ restart:
spin_unlock(&kvm->mmu_lock);
}
-static long
+static unsigned long
mmu_shrink_scan(struct shrinker *shrink, struct shrink_control *sc)
{
struct kvm *kvm;
int nr_to_scan = sc->nr_to_scan;
- long freed = 0;
+ unsigned long freed = 0;
raw_spin_lock(&kvm_lock);
@@ -4246,7 +4246,8 @@ mmu_shrink_scan(struct shrinker *shrink,
idx = srcu_read_lock(&kvm->srcu);
spin_lock(&kvm->mmu_lock);
- freed += prepare_zap_oldest_mmu_page(kvm, &invalid_list);
+ if (prepare_zap_oldest_mmu_page(kvm, &invalid_list))
+ freed++;
kvm_mmu_commit_zap_page(kvm, &invalid_list);
spin_unlock(&kvm->mmu_lock);
@@ -4266,7 +4267,7 @@ mmu_shrink_scan(struct shrinker *shrink,
}
-static long
+static unsigned long
mmu_shrink_count(struct shrinker *shrink, struct shrink_control *sc)
{
return percpu_counter_read_positive(&kvm_total_used_mmu_pages);
diff -puN net/sunrpc/auth.c~shrinker-convert-remaining-shrinkers-to-count-scan-api-fix net/sunrpc/auth.c
--- a/net/sunrpc/auth.c~shrinker-convert-remaining-shrinkers-to-count-scan-api-fix
+++ a/net/sunrpc/auth.c
@@ -454,12 +454,12 @@ rpcauth_prune_expired(struct list_head *
/*
* Run memory cache shrinker.
*/
-static long
+static unsigned long
rpcauth_cache_shrink_scan(struct shrinker *shrink, struct shrink_control *sc)
{
LIST_HEAD(free);
- long freed;
+ unsigned long freed;
if ((sc->gfp_mask & GFP_KERNEL) != GFP_KERNEL)
return SHRINK_STOP;
@@ -476,7 +476,7 @@ rpcauth_cache_shrink_scan(struct shrinke
return freed;
}
-static long
+static unsigned long
rpcauth_cache_shrink_count(struct shrinker *shrink, struct shrink_control *sc)
{
_
--
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-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2013-06-06 22:31 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-06 20:34 [PATCH v11 00/25] shrinkers rework: per-numa, generic lists, etc Glauber Costa
2013-06-06 20:34 ` [PATCH v11 01/25] fs: bump inode and dentry counters to long Glauber Costa
2013-06-06 20:34 ` [PATCH v11 02/25] super: fix calculation of shrinkable objects for small numbers Glauber Costa
2013-06-06 20:34 ` [PATCH v11 03/25] dcache: convert dentry_stat.nr_unused to per-cpu counters Glauber Costa
2013-06-06 20:34 ` [PATCH v11 04/25] dentry: move to per-sb LRU locks Glauber Costa
2013-06-06 20:34 ` [PATCH v11 05/25] dcache: remove dentries from LRU before putting on dispose list Glauber Costa
2013-06-06 20:34 ` [PATCH v11 06/25] mm: new shrinker API Glauber Costa
2013-06-06 20:34 ` [PATCH v11 07/25] shrinker: convert superblock shrinkers to new API Glauber Costa
2013-06-06 20:34 ` [PATCH v11 08/25] list: add a new LRU list type Glauber Costa
2013-06-06 20:34 ` [PATCH v11 09/25] inode: convert inode lru list to generic lru list code Glauber Costa
2013-06-06 20:34 ` [PATCH v11 10/25] dcache: convert to use new lru list infrastructure Glauber Costa
2013-06-06 20:34 ` [PATCH v11 11/25] list_lru: per-node " Glauber Costa
2013-06-06 20:34 ` [PATCH v11 12/25] list_lru: per-node API Glauber Costa
2013-06-06 20:34 ` [PATCH v11 13/25] shrinker: add node awareness Glauber Costa
2013-06-06 20:34 ` [PATCH v11 14/25] vmscan: per-node deferred work Glauber Costa
2013-06-06 20:34 ` [PATCH v11 15/25] fs: convert inode and dentry shrinking to be node aware Glauber Costa
2013-06-06 20:34 ` [PATCH v11 16/25] xfs: convert buftarg LRU to generic code Glauber Costa
2013-06-06 20:34 ` [PATCH v11 17/25] xfs: rework buffer dispose list tracking Glauber Costa
2013-06-06 20:34 ` [PATCH v11 18/25] xfs: convert dquot cache lru to list_lru Glauber Costa
2013-06-06 20:34 ` [PATCH v11 19/25] fs: convert fs shrinkers to new scan/count API Glauber Costa
2013-06-06 20:34 ` [PATCH v11 20/25] drivers: convert shrinkers to new count/scan API Glauber Costa
2013-06-07 14:10 ` Konrad Rzeszutek Wilk
2013-06-09 12:02 ` Glauber Costa
2013-06-06 20:34 ` [PATCH v11 21/25] i915: bail out earlier when shrinker cannot acquire mutex Glauber Costa
2013-06-06 20:34 ` [PATCH v11 22/25] shrinker: convert remaining shrinkers to count/scan API Glauber Costa
2013-06-06 22:31 ` Andrew Morton [this message]
2013-06-06 20:34 ` [PATCH v11 23/25] hugepage: convert huge zero page shrinker to new shrinker API Glauber Costa
2013-06-06 20:34 ` [PATCH v11 24/25] shrinker: Kill old ->shrink API Glauber Costa
2013-06-06 20:34 ` [PATCH v11 25/25] list_lru: dynamically adjust node arrays Glauber Costa
2013-06-18 9:42 ` Li Zhong
2013-06-19 7:31 ` Glauber Costa
2013-06-19 9:12 ` Li Zhong
2013-06-19 13:29 ` Glauber Costa
2013-06-19 17:14 ` Andrew Morton
2013-06-20 0:50 ` Li Zhong
2013-06-20 1:35 ` Li Zhong
2013-06-20 2:37 ` Dave Chinner
2013-06-06 21:15 ` [PATCH v11 00/25] shrinkers rework: per-numa, generic lists, etc Andrew Morton
2013-06-07 6:11 ` Glauber Costa
2013-06-07 7:08 ` Glauber Costa
2013-06-07 8:04 ` Glauber Costa
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=20130606153109.cd042659b133c607e612d927@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=Trond.Myklebust@netapp.com \
--cc=bfields@redhat.com \
--cc=cgroups@vger.kernel.org \
--cc=chuck.lever@oracle.com \
--cc=david@fromorbit.com \
--cc=dchinner@redhat.com \
--cc=gleb@redhat.com \
--cc=glommer@openvz.org \
--cc=gthelen@google.com \
--cc=hannes@cmpxchg.org \
--cc=hughd@google.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=mhocko@suze.cz \
--cc=mtosatti@redhat.com \
/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