cgroups.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mel Gorman <mgorman-l3A5Bk7waGM@public.gmane.org>
To: Glauber Costa <glommer-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
Cc: linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Andrew Morton
	<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
	Greg Thelen <gthelen-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org,
	Michal Hocko <mhocko-AlSwsSmVLrQ@public.gmane.org>,
	Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>,
	Dave Chinner <dchinner-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH v4 09/31] inode: convert inode lru list to generic lru list code.
Date: Tue, 30 Apr 2013 16:46:49 +0100	[thread overview]
Message-ID: <20130430154649.GI6415@suse.de> (raw)
In-Reply-To: <1367018367-11278-10-git-send-email-glommer-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>

On Sat, Apr 27, 2013 at 03:19:05AM +0400, Glauber Costa wrote:
> From: Dave Chinner <dchinner-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> 
> [ glommer: adapted for new LRU return codes ]
> Signed-off-by: Dave Chinner <dchinner-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> Signed-off-by: Glauber Costa <glommer-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>

Looks mostly mechanical with the main mess in the conversion of the
isolate function.

> +	if (inode_has_buffers(inode) || inode->i_data.nrpages) {
> +		__iget(inode);
> +		spin_unlock(&inode->i_lock);
> +		spin_unlock(lru_lock);
> +		if (remove_inode_buffers(inode)) {
> +			unsigned long reap;
> +			reap = invalidate_mapping_pages(&inode->i_data, 0, -1);
> +			if (current_is_kswapd())
> +				__count_vm_events(KSWAPD_INODESTEAL, reap);
> +			else
> +				__count_vm_events(PGINODESTEAL, reap);
> +			if (current->reclaim_state)
> +				current->reclaim_state->reclaimed_slab += reap;
>  		}
> +		iput(inode);
> +		spin_lock(lru_lock);
> +		return LRU_RETRY;
> +	}

Only concern is this and whether it can cause the lru_list_walk to
infinite loop if the inode is being continually used and the LRU list is
too small to win the race.

-- 
Mel Gorman
SUSE Labs

  parent reply	other threads:[~2013-04-30 15:46 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-26 23:18 [PATCH v4 00/31] kmemcg shrinkers Glauber Costa
2013-04-26 23:18 ` [PATCH v4 01/31] super: fix calculation of shrinkable objects for small numbers Glauber Costa
2013-04-30 13:03   ` Mel Gorman
2013-04-26 23:18 ` [PATCH v4 02/31] vmscan: take at least one pass with shrinkers Glauber Costa
     [not found]   ` <1367018367-11278-3-git-send-email-glommer-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2013-04-30 13:22     ` Mel Gorman
2013-04-30 13:31       ` Glauber Costa
     [not found]         ` <517FC7B4.5030101-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2013-04-30 15:37           ` Mel Gorman
2013-05-07 13:35             ` Glauber Costa
     [not found] ` <1367018367-11278-1-git-send-email-glommer-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2013-04-26 23:18   ` [PATCH v4 03/31] dcache: convert dentry_stat.nr_unused to per-cpu counters Glauber Costa
2013-04-30 13:37     ` Mel Gorman
2013-04-26 23:19   ` [PATCH v4 04/31] dentry: move to per-sb LRU locks Glauber Costa
     [not found]     ` <1367018367-11278-5-git-send-email-glommer-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2013-04-30 14:01       ` Mel Gorman
2013-04-26 23:19   ` [PATCH v4 05/31] dcache: remove dentries from LRU before putting on dispose list Glauber Costa
     [not found]     ` <1367018367-11278-6-git-send-email-glommer-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2013-04-30 14:14       ` Mel Gorman
2013-04-26 23:19   ` [PATCH v4 06/31] mm: new shrinker API Glauber Costa
     [not found]     ` <1367018367-11278-7-git-send-email-glommer-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2013-04-30 14:40       ` Mel Gorman
2013-04-30 15:03         ` Glauber Costa
2013-04-30 15:32           ` Mel Gorman
2013-04-26 23:19   ` [PATCH v4 07/31] shrinker: convert superblock shrinkers to new API Glauber Costa
2013-04-30 14:49     ` Mel Gorman
2013-04-26 23:19   ` [PATCH v4 08/31] list: add a new LRU list type Glauber Costa
2013-04-30 15:18     ` Mel Gorman
2013-04-30 16:01       ` Glauber Costa
2013-04-26 23:19   ` [PATCH v4 09/31] inode: convert inode lru list to generic lru list code Glauber Costa
     [not found]     ` <1367018367-11278-10-git-send-email-glommer-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2013-04-30 15:46       ` Mel Gorman [this message]
2013-05-07 13:47         ` Glauber Costa
2013-04-26 23:19   ` [PATCH v4 10/31] dcache: convert to use new lru list infrastructure Glauber Costa
     [not found]     ` <1367018367-11278-11-git-send-email-glommer-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2013-04-30 16:04       ` Mel Gorman
2013-04-30 16:13         ` Glauber Costa
2013-04-26 23:19   ` [PATCH v4 11/31] list_lru: per-node " Glauber Costa
     [not found]     ` <1367018367-11278-12-git-send-email-glommer-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2013-04-30 16:33       ` Mel Gorman
2013-04-30 21:44         ` Glauber Costa
2013-04-26 23:19   ` [PATCH v4 12/31] shrinker: add node awareness Glauber Costa
     [not found]     ` <1367018367-11278-13-git-send-email-glommer-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2013-04-30 16:35       ` Mel Gorman
2013-04-26 23:19   ` [PATCH v4 13/31] fs: convert inode and dentry shrinking to be node aware Glauber Costa
     [not found]     ` <1367018367-11278-14-git-send-email-glommer-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2013-04-30 17:39       ` Mel Gorman
2013-04-26 23:19   ` [PATCH v4 14/31] xfs: convert buftarg LRU to generic code Glauber Costa
2013-04-26 23:19   ` [PATCH v4 15/31] xfs: convert dquot cache lru to list_lru Glauber Costa
2013-04-26 23:19   ` [PATCH v4 16/31] fs: convert fs shrinkers to new scan/count API Glauber Costa
2013-04-26 23:19   ` [PATCH v4 17/31] drivers: convert shrinkers to new count/scan API Glauber Costa
2013-04-30 21:53     ` Mel Gorman
     [not found]       ` <20130430215355.GN6415-l3A5Bk7waGM@public.gmane.org>
2013-04-30 22:00         ` Kent Overstreet
     [not found]           ` <20130430220050.GK9931-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2013-05-02  9:37             ` Mel Gorman
2013-05-02 13:37               ` Glauber Costa
2013-05-01 15:26       ` Daniel Vetter
2013-05-02  9:31         ` Mel Gorman
2013-04-26 23:19   ` [PATCH v4 18/31] shrinker: convert remaining shrinkers to " Glauber Costa
2013-04-26 23:19   ` [PATCH v4 19/31] hugepage: convert huge zero page shrinker to new shrinker API Glauber Costa
2013-04-26 23:19   ` [PATCH v4 20/31] shrinker: Kill old ->shrink API Glauber Costa
     [not found]     ` <1367018367-11278-21-git-send-email-glommer-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2013-04-30 21:57       ` Mel Gorman
2013-04-26 23:19   ` [PATCH v4 21/31] vmscan: also shrink slab in memcg pressure Glauber Costa
2013-04-26 23:19   ` [PATCH v4 22/31] memcg,list_lru: duplicate LRUs upon kmemcg creation Glauber Costa
2013-04-26 23:19   ` [PATCH v4 23/31] lru: add an element to a memcg list Glauber Costa
2013-04-26 23:19   ` [PATCH v4 24/31] list_lru: per-memcg walks Glauber Costa
2013-04-26 23:19   ` [PATCH v4 25/31] memcg: per-memcg kmem shrinking Glauber Costa
2013-04-26 23:19   ` [PATCH v4 26/31] memcg: scan cache objects hierarchically Glauber Costa
2013-04-26 23:19   ` [PATCH v4 27/31] super: targeted memcg reclaim Glauber Costa
2013-04-26 23:19   ` [PATCH v4 28/31] memcg: move initialization to memcg creation Glauber Costa
2013-04-26 23:19   ` [PATCH v4 29/31] vmpressure: in-kernel notifications Glauber Costa
2013-04-26 23:19   ` [PATCH v4 30/31] memcg: reap dead memcgs upon global memory pressure Glauber Costa
2013-04-26 23:19   ` [PATCH v4 31/31] memcg: debugging facility to access dangling memcgs Glauber Costa
2013-04-30 22:47 ` [PATCH v4 00/31] kmemcg shrinkers Mel Gorman
2013-05-01  9:05   ` Mel Gorman

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=20130430154649.GI6415@suse.de \
    --to=mgorman-l3a5bk7wagm@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dchinner-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=glommer-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org \
    --cc=gthelen-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
    --cc=hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org \
    --cc=kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org \
    --cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
    --cc=mhocko-AlSwsSmVLrQ@public.gmane.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).