Linux-Next Archive on lore.kernel.org
 help / color / Atom feed
From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@google.com>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Johannes Weiner <jweiner@redhat.com>
Subject: linux-next: manual merge of the akpm tree with Linus' tree
Date: Fri, 16 Sep 2011 16:09:28 +1000
Message-ID: <20110916160928.ca9a16909abdf625f7e7cd0e@canb.auug.org.au> (raw)

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
mm/memcontrol.c between commit 185efc0f9a1f ("memcg: Revert "memcg: add
memory.vmscan_stat"") from Linus' tree and commit 970f23b7f013 ("The
memcg code sometimes uses "struct mem_cgroup *mem" and sometimes uses")
from the akpm tree.

I fixed it up (I think - see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc mm/memcontrol.c
index 1364b5e,e47a504..0000000
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@@ -202,9 -202,53 +202,9 @@@ struct mem_cgroup_eventfd_list 
  	struct eventfd_ctx *eventfd;
  };
  
- static void mem_cgroup_threshold(struct mem_cgroup *mem);
- static void mem_cgroup_oom_notify(struct mem_cgroup *mem);
+ static void mem_cgroup_threshold(struct mem_cgroup *memcg);
+ static void mem_cgroup_oom_notify(struct mem_cgroup *memcg);
  
 -enum {
 -	SCAN_BY_LIMIT,
 -	SCAN_BY_SYSTEM,
 -	NR_SCAN_CONTEXT,
 -	SCAN_BY_SHRINK,	/* not recorded now */
 -};
 -
 -enum {
 -	SCAN,
 -	SCAN_ANON,
 -	SCAN_FILE,
 -	ROTATE,
 -	ROTATE_ANON,
 -	ROTATE_FILE,
 -	FREED,
 -	FREED_ANON,
 -	FREED_FILE,
 -	ELAPSED,
 -	NR_SCANSTATS,
 -};
 -
 -struct scanstat {
 -	spinlock_t	lock;
 -	unsigned long	stats[NR_SCAN_CONTEXT][NR_SCANSTATS];
 -	unsigned long	rootstats[NR_SCAN_CONTEXT][NR_SCANSTATS];
 -};
 -
 -const char *scanstat_string[NR_SCANSTATS] = {
 -	"scanned_pages",
 -	"scanned_anon_pages",
 -	"scanned_file_pages",
 -	"rotated_pages",
 -	"rotated_anon_pages",
 -	"rotated_file_pages",
 -	"freed_pages",
 -	"freed_anon_pages",
 -	"freed_file_pages",
 -	"elapsed_ns",
 -};
 -#define SCANSTAT_WORD_LIMIT	"_by_limit"
 -#define SCANSTAT_WORD_SYSTEM	"_by_system"
 -#define SCANSTAT_WORD_HIERARCHY	"_under_hierarchy"
 -
 -
  /*
   * The memory controller data structure. The memory controller controls both
   * page cache and RSS per cgroup. We would eventually like to provide
@@@ -1659,18 -1745,28 +1662,18 @@@ static int mem_cgroup_hierarchical_recl
  	bool noswap = reclaim_options & MEM_CGROUP_RECLAIM_NOSWAP;
  	bool shrink = reclaim_options & MEM_CGROUP_RECLAIM_SHRINK;
  	bool check_soft = reclaim_options & MEM_CGROUP_RECLAIM_SOFT;
 -	struct memcg_scanrecord rec;
  	unsigned long excess;
 -	unsigned long scanned;
 +	unsigned long nr_scanned;
  
- 	excess = res_counter_soft_limit_excess(&root_mem->res) >> PAGE_SHIFT;
+ 	excess = res_counter_soft_limit_excess(&root_memcg->res) >> PAGE_SHIFT;
  
  	/* If memsw_is_minimum==1, swap-out is of-no-use. */
- 	if (!check_soft && !shrink && root_mem->memsw_is_minimum)
+ 	if (!check_soft && !shrink && root_memcg->memsw_is_minimum)
  		noswap = true;
  
 -	if (shrink)
 -		rec.context = SCAN_BY_SHRINK;
 -	else if (check_soft)
 -		rec.context = SCAN_BY_SYSTEM;
 -	else
 -		rec.context = SCAN_BY_LIMIT;
 -
 -	rec.root = root_memcg;
 -
  	while (1) {
- 		victim = mem_cgroup_select_victim(root_mem);
- 		if (victim == root_mem) {
+ 		victim = mem_cgroup_select_victim(root_memcg);
+ 		if (victim == root_memcg) {
  			loop++;
  			/*
  			 * We are not draining per cpu cached charges during
@@@ -3753,15 -3858,19 +3756,15 @@@ try_to_free
  	lru_add_drain_all();
  	/* try to free all pages in this cgroup */
  	shrink = 1;
- 	while (nr_retries && mem->res.usage > 0) {
+ 	while (nr_retries && memcg->res.usage > 0) {
 -		struct memcg_scanrecord rec;
  		int progress;
  
  		if (signal_pending(current)) {
  			ret = -EINTR;
  			goto out;
  		}
- 		progress = try_to_free_mem_cgroup_pages(mem, GFP_KERNEL,
- 						false);
 -		rec.context = SCAN_BY_SHRINK;
 -		rec.mem = memcg;
 -		rec.root = memcg;
+ 		progress = try_to_free_mem_cgroup_pages(memcg, GFP_KERNEL,
+ 						false, &rec);
  		if (!progress) {
  			nr_retries--;
  			/* maybe some writeback is necessary */
@@@ -4926,21 -5091,22 +4929,21 @@@ mem_cgroup_create(struct cgroup_subsys 
  		 */
  		mem_cgroup_get(parent);
  	} else {
- 		res_counter_init(&mem->res, NULL);
- 		res_counter_init(&mem->memsw, NULL);
+ 		res_counter_init(&memcg->res, NULL);
+ 		res_counter_init(&memcg->memsw, NULL);
  	}
- 	mem->last_scanned_child = 0;
- 	mem->last_scanned_node = MAX_NUMNODES;
- 	INIT_LIST_HEAD(&mem->oom_notify);
+ 	memcg->last_scanned_child = 0;
+ 	memcg->last_scanned_node = MAX_NUMNODES;
+ 	INIT_LIST_HEAD(&memcg->oom_notify);
  
  	if (parent)
- 		mem->swappiness = mem_cgroup_swappiness(parent);
- 	atomic_set(&mem->refcnt, 1);
- 	mem->move_charge_at_immigrate = 0;
- 	mutex_init(&mem->thresholds_lock);
- 	return &mem->css;
+ 		memcg->swappiness = mem_cgroup_swappiness(parent);
+ 	atomic_set(&memcg->refcnt, 1);
+ 	memcg->move_charge_at_immigrate = 0;
+ 	mutex_init(&memcg->thresholds_lock);
 -	spin_lock_init(&memcg->scanstat.lock);
+ 	return &memcg->css;
  free_out:
- 	__mem_cgroup_free(mem);
+ 	__mem_cgroup_free(memcg);
  	root_mem_cgroup = NULL;
  	return ERR_PTR(error);
  }

             reply index

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-16  6:09 Stephen Rothwell [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-12-02  2:17 Stephen Rothwell
2019-12-02  2:08 Stephen Rothwell
2018-10-15  7:22 Stephen Rothwell
2018-10-15  7:04 Stephen Rothwell
2018-03-26  8:56 Stephen Rothwell
2017-01-09  2:51 Stephen Rothwell
2016-12-12  5:49 Stephen Rothwell
2016-01-19  2:42 Stephen Rothwell
2016-01-19  2:36 Stephen Rothwell
2015-07-27  5:26 Stephen Rothwell
2013-09-10  4:38 Stephen Rothwell
2013-09-10 22:27 ` Andrew Morton
2013-09-10 22:29   ` Al Viro
2013-09-10 22:35     ` Andrew Morton
2013-09-10 22:36       ` Al Viro
2013-09-10 22:39         ` Al Viro
2013-09-10 22:41         ` Andrew Morton
2013-09-10 22:48           ` Al Viro
2013-09-10 22:59             ` Al Viro
2013-09-10 23:13               ` Andrew Morton
2013-09-10 23:55                 ` Al Viro
2013-09-11  4:30                 ` Stephen Rothwell
2013-09-10 23:37               ` Linus Torvalds
2013-09-10 23:53                 ` Al Viro
2013-09-11  0:01                   ` Linus Torvalds
2013-09-11  0:39                     ` Dave Chinner
2013-09-13  0:56                 ` Linus Torvalds
2013-09-13  1:12                   ` Linus Torvalds
2013-09-13  1:35                     ` Al Viro
2013-09-13 19:12                     ` Linus Torvalds
2013-09-13 19:28                       ` Linus Torvalds
2013-09-13 19:54                       ` Linus Torvalds
2013-09-13 20:00                       ` Al Viro
2013-09-13 20:18                         ` Al Viro
2013-09-13 20:23                           ` Al Viro
2013-09-13 20:25                         ` Linus Torvalds
2013-09-13 20:31                           ` Linus Torvalds
2013-09-13 20:31                           ` Al Viro
2013-09-13 20:34                             ` Linus Torvalds
2013-09-10 22:35   ` Linus Torvalds
2013-09-10 22:44     ` Andrew Morton
2013-09-11  0:30       ` Stephen Rothwell
2013-09-11  0:41         ` Linus Torvalds
2013-09-10  4:21 Stephen Rothwell
2013-09-10  4:09 Stephen Rothwell
2013-09-10  4:12 ` Stephen Rothwell
2013-09-09  5:38 Stephen Rothwell
2013-09-09  5:22 Stephen Rothwell
2013-09-09  5:16 Stephen Rothwell
2013-08-30  8:44 Stephen Rothwell
2013-05-27  6:20 Stephen Rothwell
2013-05-20  4:04 Stephen Rothwell
2013-05-20 12:19 ` Chris Mason
2013-05-13  5:20 Eric Paris
2013-05-13  2:07 Stephen Rothwell
2013-05-13  2:11 ` Eric Paris
2013-05-13  4:16   ` Stephen Rothwell
2013-05-13  4:49   ` Kees Cook
2013-05-13  5:14     ` Eric Paris
2013-05-02  6:01 Stephen Rothwell
2013-04-29  8:38 Stephen Rothwell
2013-04-19  7:40 Stephen Rothwell
2013-04-16  7:25 Stephen Rothwell
2013-04-03  6:10 Stephen Rothwell
2013-03-25  4:22 Stephen Rothwell
2013-03-04  2:21 Stephen Rothwell
2013-01-04  3:27 Stephen Rothwell
2012-12-11  5:25 Stephen Rothwell
2012-12-11  5:22 Stephen Rothwell
2012-12-11  7:58 ` Glauber Costa
2012-12-07  6:39 Stephen Rothwell
2012-11-30  6:24 Stephen Rothwell
2012-11-26 12:52 Stephen Rothwell
2012-11-26 12:48 Stephen Rothwell
2012-11-26 13:25 ` Xiaotian Feng
2012-11-26 12:34 Stephen Rothwell
2012-10-15  2:07 Stephen Rothwell
2012-10-15 22:14 ` Catalin Marinas
2012-10-01 14:15 Stephen Rothwell
2012-08-22  5:59 Stephen Rothwell
2012-08-22  8:58 ` Mel Gorman
2012-07-27  3:57 Stephen Rothwell
2012-07-02  6:39 Stephen Rothwell
2012-06-04  4:58 Stephen Rothwell
2012-05-31  4:24 Stephen Rothwell
2012-05-31  4:13 Stephen Rothwell
2012-05-31  7:25 ` Johannes Weiner
2012-05-31  8:24   ` Stephen Rothwell
2012-05-31  8:27     ` Stephen Rothwell
2012-05-21  8:23 Stephen Rothwell
2012-05-21  8:13 Stephen Rothwell
2012-05-21  8:16 ` Cyrill Gorcunov
2012-03-08  6:53 Stephen Rothwell
2012-03-08  7:32 ` Andrew Morton
2012-03-08  7:41   ` Stephen Rothwell
2012-03-08  7:50     ` Andrew Morton
2012-03-08  7:50       ` Xiao Guangrong
2012-03-08  9:59       ` Xiao Guangrong
2012-03-08 21:24         ` Andrew Morton
2012-03-08 23:42           ` Linus Torvalds
2011-12-28  7:54 Stephen Rothwell
2011-11-08  3:24 Stephen Rothwell
2011-11-01  8:16 Stephen Rothwell
2011-11-01 10:47 ` Tao Ma
2011-08-15  4:52 Stephen Rothwell

Reply instructions:

You may reply publically 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=20110916160928.ca9a16909abdf625f7e7cd0e@canb.auug.org.au \
    --to=sfr@canb.auug.org.au \
    --cc=akpm@google.com \
    --cc=akpm@linux-foundation.org \
    --cc=jweiner@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=raghavendra.kt@linux.vnet.ibm.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

Linux-Next Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-next/0 linux-next/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-next linux-next/ https://lore.kernel.org/linux-next \
		linux-next@vger.kernel.org
	public-inbox-index linux-next

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-next


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git