linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
To: Andrea Righi <righi.andrea@gmail.com>
Cc: Paul Menage <menage@google.com>,
	Balbir Singh <balbir@linux.vnet.ibm.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	agk@sourceware.org, akpm@linux-foundation.org, axboe@kernel.dk,
	baramsori72@gmail.com, Carl Henrik Lunde <chlunde@ping.uio.no>,
	dave@linux.vnet.ibm.com, Divyesh Shah <dpshah@google.com>,
	eric.rannaud@gmail.com, fernando@oss.ntt.co.jp,
	Hirokazu Takahashi <taka@valinux.co.jp>,
	Li Zefan <lizf@cn.fujitsu.com>,
	matt@bluehost.com, dradford@bluehost.com, ngupta@google.com,
	randy.dunlap@oracle.com, roberto@unbit.it,
	Ryo Tsuruta <ryov@valinux.co.jp>,
	Satoshi UCHIDA <s-uchida@ap.jp.nec.com>,
	subrata@linux.vnet.ibm.com, yoshikawa.takuya@oss.ntt.co.jp,
	Nauman Rafique <nauman@google.com>,
	fchecconi@gmail.com, paolo.valente@unimore.it,
	containers@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/7] cgroup: io-throttle controller (v14)
Date: Thu, 23 Apr 2009 10:58:16 +0800	[thread overview]
Message-ID: <49EFD948.7050803@cn.fujitsu.com> (raw)
In-Reply-To: <20090422124328.GA32007@linux>

Andrea Righi wrote:
> On Wed, Apr 22, 2009 at 09:09:16AM +0800, Gui Jianfeng wrote:
>> Andrea Righi wrote:
>>> On Tue, Apr 21, 2009 at 09:16:22AM +0800, Gui Jianfeng wrote:
>>>> Andrea Righi wrote:
>>>>> On Mon, Apr 20, 2009 at 04:39:29PM +0800, Gui Jianfeng wrote:
>>>>>> Andrea Righi wrote:
>>>>>> ...
>>>>>>> Implementation
>>>>>>> ~~~~~~~~~~~~~~
>>>>>>> Patchset against latest Linus' git:
>>>>>>>
>>>>>>>   [PATCH 0/7] cgroup: block device IO controller (v14)
>>>>>>>   [PATCH 1/7] io-throttle documentation
>>>>>>>   [PATCH 2/7] res_counter: introduce ratelimiting attributes
>>>>>>>   [PATCH 3/7] page_cgroup: provide a generic page tracking infrastructure
>>>>>>>   [PATCH 4/7] io-throttle controller infrastructure
>>>>>>>   [PATCH 5/7] kiothrottled: throttle buffered (writeback) IO
>>>>>>>   [PATCH 6/7] io-throttle instrumentation
>>>>>>>   [PATCH 7/7] export per-task io-throttle statistics to userspace
>>>>>>   Hi Andrea,
>>>>>>
>>>>>>   I'd like to have a try this patchset, would you tell what's the kernel version
>>>>>>   and bio-cgroup version based on?
>>>>>>
>>>>> Latest Linus' git is the kernel and bio-cgroup v7 (from
>>>>> http://people.valinux.co.jp/~ryov/bio-cgroup/).
>>>>   Sorry, I still can't apply it...
>>>>
>>>> [root@localhost linux-2.6.30-rc1]# patch -p1 --dry-run < ../cgroup-io-throttle-v14.patch                                                                                         patching file Documentation/cgroups/io-throttle.txt
>>>> patching file block/Makefile
>>>> patching file block/blk-core.c
>>>> patching file block/blk-io-throttle.c
>>>> patching file block/kiothrottled.c
>>>> patching file fs/aio.c
>>>> patching file fs/buffer.c
>>>> Hunk #1 FAILED at 36.
>>>> Hunk #2 FAILED at 669.
>>>> 2 out of 2 hunks FAILED -- saving rejects to file fs/buffer.c.rej
>>>> patching file fs/proc/base.c
>>>> patching file include/linux/blk-io-throttle.h
>>>> patching file include/linux/cgroup_subsys.h
>>>> Hunk #1 succeeded at 49 (offset 6 lines).
>>>> patching file include/linux/memcontrol.h
>>>> Reversed (or previously applied) patch detected!  Assume -R? [n] n
>>>> Apply anyway? [n] n
>>>> Skipping patch.
>>>> 2 out of 2 hunks ignored -- saving rejects to file include/linux/memcontrol.h.rej
>>>> patching file include/linux/mmzone.h
>>>> Hunk #1 FAILED at 607.
>>>> Hunk #2 FAILED at 958.
>>>> ...
>>> Could you checkout the latest Linus' git?
>>>
>>> $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6
>>>
>>> Or at least try with 2.6.30-rc2. It should apply cleanly also to this
>>> version.
>>   Yes, I tried them all, but didn't work. :(
>>   Would you try "cgroup-io-throttle-v14.patch" too?
> 
> It works for me:
> 
> $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6
> $ cd linux-2.6
> $ wget http://download.systemimager.org/~arighi/linux/patches/io-throttle/cgroup-io-throttle-v14.patch
> $ git apply cgroup-io-throttle-v14.patch
> (no error reported)
> 
> The same for v13.

  Ok, so we don't need to apply bio-cgroup.... I made a mistake, i applied bio-cgroup firstly :(
  It's Ok now, thanks for the explanation.

  I tried to build, but got the following error.

LD      .tmp_vmlinux1
block/built-in.o: In function `get_iothrottle_from_page':
/kernel/linux-2.6.30-rc2/block/blk-io-throttle.c:670: undefined reference to `page_cgroup_get_owner'
block/built-in.o: In function `iothrottle_set_page_owner':
/kernel/linux-2.6.30-rc2/block/blk-io-throttle.c:704: undefined reference to `page_cgroup_set_owner'
block/built-in.o: In function `iothrottle_copy_page_owner':
/kernel/linux-2.6.30-rc2/block/blk-io-throttle.c:720: undefined reference to `page_cgroup_copy_owner'
make: *** [.tmp_vmlinux1] Error 1

Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
---
 mm/page_cgroup.c |   65 ++++++++++++++++++++++++++---------------------------
 1 files changed, 32 insertions(+), 33 deletions(-)

diff --git a/mm/page_cgroup.c b/mm/page_cgroup.c
index b3b394c..9c392f1 100644
--- a/mm/page_cgroup.c
+++ b/mm/page_cgroup.c
@@ -244,6 +244,38 @@ static int __meminit page_cgroup_callback(struct notifier_block *self,
 
 #endif
 
+void __init page_cgroup_init(void)
+{
+	unsigned long pfn;
+	int fail = 0;
+
+	if (mem_cgroup_disabled() && iothrottle_disabled())
+		return;
+
+	for (pfn = 0; !fail && pfn < max_pfn; pfn += PAGES_PER_SECTION) {
+		if (!pfn_present(pfn))
+			continue;
+		fail = init_section_page_cgroup(pfn);
+	}
+	if (fail) {
+		printk(KERN_CRIT
+			"try cgroup_disable=memory,blockio boot option\n");
+		panic("Out of memory");
+	} else {
+		hotplug_memory_notifier(page_cgroup_callback, 0);
+	}
+	printk(KERN_INFO "allocated %ld bytes of page_cgroup\n", total_usage);
+	printk(KERN_INFO
+		"try cgroup_disable=memory,blockio option if you don't want\n");
+}
+
+void __meminit pgdat_page_cgroup_init(struct pglist_data *pgdat)
+{
+	return;
+}
+
+#endif
+
 /**
  * page_cgroup_get_owner() - get the owner ID of a page
  * @page:	the page we want to find the owner
@@ -317,39 +349,6 @@ int page_cgroup_copy_owner(struct page *npage, struct page *opage)
 	return 0;
 }
 
-void __init page_cgroup_init(void)
-{
-	unsigned long pfn;
-	int fail = 0;
-
-	if (mem_cgroup_disabled() && iothrottle_disabled())
-		return;
-
-	for (pfn = 0; !fail && pfn < max_pfn; pfn += PAGES_PER_SECTION) {
-		if (!pfn_present(pfn))
-			continue;
-		fail = init_section_page_cgroup(pfn);
-	}
-	if (fail) {
-		printk(KERN_CRIT
-			"try cgroup_disable=memory,blockio boot option\n");
-		panic("Out of memory");
-	} else {
-		hotplug_memory_notifier(page_cgroup_callback, 0);
-	}
-	printk(KERN_INFO "allocated %ld bytes of page_cgroup\n", total_usage);
-	printk(KERN_INFO
-		"try cgroup_disable=memory,blockio option if you don't want\n");
-}
-
-void __meminit pgdat_page_cgroup_init(struct pglist_data *pgdat)
-{
-	return;
-}
-
-#endif
-
-
 #ifdef CONFIG_CGROUP_MEM_RES_CTLR_SWAP
 
 static DEFINE_MUTEX(swap_cgroup_mutex);
-- 
1.5.4.rc3





  reply	other threads:[~2009-04-23  2:59 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-18 21:37 [PATCH 0/7] cgroup: io-throttle controller (v14) Andrea Righi
2009-04-20  8:39 ` Gui Jianfeng
2009-04-20 14:48   ` Andrea Righi
2009-04-21  1:16     ` Gui Jianfeng
2009-04-21  9:58       ` Andrea Righi
2009-04-22  1:09         ` Gui Jianfeng
2009-04-22 12:43           ` Andrea Righi
2009-04-23  2:58             ` Gui Jianfeng [this message]
2009-04-23 10:14               ` Andrea Righi
2009-04-24  1:10                 ` Gui Jianfeng
2009-04-24  8:13                   ` Andrea Righi
  -- strict thread matches above, loose matches on Subject: below --
2009-04-18 21:38 Andrea Righi

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=49EFD948.7050803@cn.fujitsu.com \
    --to=guijianfeng@cn.fujitsu.com \
    --cc=agk@sourceware.org \
    --cc=akpm@linux-foundation.org \
    --cc=axboe@kernel.dk \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=baramsori72@gmail.com \
    --cc=chlunde@ping.uio.no \
    --cc=containers@lists.linux-foundation.org \
    --cc=dave@linux.vnet.ibm.com \
    --cc=dpshah@google.com \
    --cc=dradford@bluehost.com \
    --cc=eric.rannaud@gmail.com \
    --cc=fchecconi@gmail.com \
    --cc=fernando@oss.ntt.co.jp \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizf@cn.fujitsu.com \
    --cc=matt@bluehost.com \
    --cc=menage@google.com \
    --cc=nauman@google.com \
    --cc=ngupta@google.com \
    --cc=paolo.valente@unimore.it \
    --cc=randy.dunlap@oracle.com \
    --cc=righi.andrea@gmail.com \
    --cc=roberto@unbit.it \
    --cc=ryov@valinux.co.jp \
    --cc=s-uchida@ap.jp.nec.com \
    --cc=subrata@linux.vnet.ibm.com \
    --cc=taka@valinux.co.jp \
    --cc=yoshikawa.takuya@oss.ntt.co.jp \
    /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).