From: "Satoshi UCHIDA" <s-uchida@ap.jp.nec.com>
To: <righi.andrea@gmail.com>
Cc: "'Ryo Tsuruta'" <ryov@valinux.co.jp>, <axboe@kernel.dk>,
<vtaras@openvz.org>, <containers@lists.linux-foundation.org>,
<tom-sugawara@ap.jp.nec.com>, <linux-kernel@vger.kernel.org>
Subject: RE: [RFC][v2][patch 0/12][CFQ-cgroup]Yet another I/O bandwidth controlling subsystem for CGroups based on CFQ
Date: Wed, 18 Jun 2008 18:48:29 +0900 [thread overview]
Message-ID: <001501c8d128$76e734e0$64b59ea0$@jp.nec.com> (raw)
In-Reply-To: <483FD8E5.2080600@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3278 bytes --]
Hi, Andrea.
Thanks for bug reports.
I fix this problem.
This problem causes by miss of trace for children groups.
Please adopt and test this patch.
If OK, this amendment is adopted when I release new patch-set.
Regards,
Satoshi Uchida.
diff --git a/block/cfq-cgroup.c b/block/cfq-cgroup.c
index f868f4f..64561f5 100644
--- a/block/cfq-cgroup.c
+++ b/block/cfq-cgroup.c
@@ -183,7 +184,7 @@ static void *cfq_cgroup_init_cfq_data(struct cfq_cgroup *cfqc, struct cfq_data *
/* check and create cfq_data for children */
if (cfqc->css.cgroup)
- list_for_each_entry(child, &cfqc->css.cgroup->children, children){
+ list_for_each_entry(child, &cfqc->css.cgroup->children, sibling){
cfq_cgroup_init_cfq_data(cgroup_to_cfq_cgroup(child), cfqd);
}
> -----Original Message-----
> From: Andrea Righi [mailto:righi.andrea@gmail.com]
> Sent: Friday, May 30, 2008 7:37 PM
> To: Satoshi UCHIDA
> Cc: 'Ryo Tsuruta'; axboe@kernel.dk; vtaras@openvz.org;
> containers@lists.linux-foundation.org; tom-sugawara@ap.jp.nec.com;
> linux-kernel@vger.kernel.org
> Subject: Re: [RFC][v2][patch 0/12][CFQ-cgroup]Yet another I/O bandwidth
> controlling subsystem for CGroups based on CFQ
>
> Satoshi UCHIDA wrote:
> > Hi, Tsuruta-san.
> >
> >> I'm looking forward to your report.
>
> Hi Satoshi,
>
> I'm testing your patch agains latest Linus git and I've got the
> following bug. It can be easily reproduced creating a cgroup, switching
> the i/o scheduler from cfq to any other and switch back to cfq again.
>
> -Andrea
>
> BUG: unable to handle kernel paging request at ffffffeb
> IP: [<c0212dc6>] cfq_cgroup_sibling_tree_add+0x36/0x90
> Oops: 0000 [#1] SMP
> Modules linked in: i2c_piix4 ne2k_pci 8390 i2c_core
>
> Pid: 3543, comm: bash Not tainted (2.6.26-rc4 #1)
> EIP: 0060:[<c0212dc6>] EFLAGS: 00010286 CPU: 0
> EIP is at cfq_cgroup_sibling_tree_add+0x36/0x90
> EAX: 00000003 EBX: c7704c90 ECX: ffffffff EDX: c7102180
> ESI: c7102240 EDI: c7704c80 EBP: c7afbe94 ESP: c7afbe80
> DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
> Process bash (pid: 3543, ti=c7afa000 task=c7aeda00 task.ti=c7afa000)
> Stack: c7704c90 c71022d0 c7ace078 c7704c80 c71020c0 c7afbea8 c021363c
> c7ace078
> c7803460 c71020c0 c7afbebc c021360a c7102184 c71020c0 c7102180
> c7afbee4
> c02134e0 00000000 c7102184 c72b8ab0 00000001 c7102140 c72b8ab0
> c04b8ac0
> Call Trace:
> [<c021363c>] ? cfq_cgroup_init_cfq_data+0x7c/0x80
> [<c021360a>] ? cfq_cgroup_init_cfq_data+0x4a/0x80
> [<c02134e0>] ? __cfq_cgroup_init_queue+0x100/0x1e0
> [<c021097b>] ? cfq_init_queue+0xb/0x10
> [<c0204ff8>] ? elevator_init_queue+0x8/0x10
> [<c0205cd0>] ? elv_iosched_store+0x80/0x2b0
> [<c0209379>] ? queue_attr_store+0x49/0x70
> [<c01c488b>] ? sysfs_write_file+0xbb/0x110
> [<c0186276>] ? vfs_write+0x96/0x160
> [<c01c47d0>] ? sysfs_write_file+0x0/0x110
> [<c018696d>] ? sys_write+0x3d/0x70
> [<c0104267>] ? sysenter_past_esp+0x78/0xd1
> =======================
> Code: ec 08 8b 82 90 00 00 00 83 e0 fc 89 45 f0 8d 82 90 00 00 00 39 45
> f0 75 5f
> 8d 47 10 89 45 ec 89 c3 31 c0 eb 11 8b 56 7c 8d 41 04 <3b> 51 ec 8d 59
> 08 0f 43
> d8 89 c8 8b 0b 85 c9 75 e9 89 86 90 00
> EIP: [<c0212dc6>] cfq_cgroup_sibling_tree_add+0x36/0x90 SS:ESP
> 0068:c7afbe80
> ---[ end trace 9701f4859bb53d27 ]---
[-- Attachment #2: bugfix_create_children.patch --]
[-- Type: application/octet-stream, Size: 531 bytes --]
diff --git a/block/cfq-cgroup.c b/block/cfq-cgroup.c
index f868f4f..64561f5 100644
--- a/block/cfq-cgroup.c
+++ b/block/cfq-cgroup.c
@@ -183,7 +184,7 @@ static void *cfq_cgroup_init_cfq_data(struct cfq_cgroup *cfqc, struct cfq_data *
/* check and create cfq_data for children */
if (cfqc->css.cgroup)
- list_for_each_entry(child, &cfqc->css.cgroup->children, children){
+ list_for_each_entry(child, &cfqc->css.cgroup->children, sibling){
cfq_cgroup_init_cfq_data(cgroup_to_cfq_cgroup(child), cfqd);
}
next prev parent reply other threads:[~2008-06-18 9:50 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-01 9:22 [RFC][patch 0/11][CFQ-cgroup]Yet another I/O bandwidth controlling subsystem for CGroups based on CFQ Satoshi UCHIDA
2008-04-01 9:27 ` [RFC][patch 1/11][CFQ-cgroup] Add Configuration Satoshi UCHIDA
2008-04-01 9:27 ` Satoshi UCHIDA
2008-04-01 9:30 ` [RFC][patch 2/11][CFQ-cgroup] Move header file Satoshi UCHIDA
2008-04-01 9:30 ` Satoshi UCHIDA
2008-04-01 9:32 ` [RFC][patch 3/11][CFQ-cgroup] Introduce cgroup subsystem Satoshi UCHIDA
2008-04-01 9:32 ` Satoshi UCHIDA
2008-04-02 22:41 ` Paul Menage
2008-04-02 22:41 ` Paul Menage
2008-04-03 2:31 ` Satoshi UCHIDA
2008-04-03 2:39 ` Li Zefan
2008-04-03 2:39 ` Li Zefan
2008-04-03 15:31 ` Paul Menage
2008-04-03 15:31 ` Paul Menage
2008-04-03 7:09 ` [RFC][v2][patch 0/12][CFQ-cgroup]Yet another I/O bandwidth controlling subsystem for CGroups based on CFQ Satoshi UCHIDA
2008-04-03 7:11 ` [PATCH] [RFC][patch 1/12][CFQ-cgroup] Add Configuration Satoshi UCHIDA
2008-04-03 7:11 ` Satoshi UCHIDA
2008-04-03 7:12 ` [RFC][patch 2/11][CFQ-cgroup] Move header file Satoshi UCHIDA
2008-04-03 7:12 ` Satoshi UCHIDA
2008-04-03 7:12 ` [RFC][patch 3/12][CFQ-cgroup] Introduce cgroup subsystem Satoshi UCHIDA
2008-04-03 7:12 ` Satoshi UCHIDA
2008-04-03 7:13 ` [PATCH] [RFC][patch 4/12][CFQ-cgroup] Add ioprio entry Satoshi UCHIDA
2008-04-03 7:13 ` Satoshi UCHIDA
2008-04-03 7:14 ` [RFC][patch 5/12][CFQ-cgroup] Create cfq driver unique data Satoshi UCHIDA
2008-04-03 7:14 ` Satoshi UCHIDA
2008-04-03 7:14 ` [RFC][patch 6/12][CFQ-cgroup] Add cfq optional operation framework Satoshi UCHIDA
2008-04-03 7:14 ` Satoshi UCHIDA
2008-04-03 7:15 ` [RFC][patch 7/12][CFQ-cgroup] Add new control layer over traditional control layer Satoshi UCHIDA
2008-04-03 7:15 ` Satoshi UCHIDA
2008-04-03 7:15 ` [RFC][patch 8/12][CFQ-cgroup] Control cfq_data per driver Satoshi UCHIDA
2008-04-03 7:15 ` Satoshi UCHIDA
2008-04-03 7:16 ` [RFC][patch 9/12][CFQ-cgroup] Control cfq_data per cgroup Satoshi UCHIDA
2008-04-03 7:16 ` Satoshi UCHIDA
2008-04-03 7:16 ` [PATCH] [RFC][patch 10/12][CFQ-cgroup] Search cfq_data when not connected Satoshi UCHIDA
2008-04-03 7:16 ` Satoshi UCHIDA
2008-04-03 7:17 ` [RFC][patch 11/12][CFQ-cgroup] Control service tree: Main functions Satoshi UCHIDA
2008-04-03 7:17 ` Satoshi UCHIDA
2008-04-03 7:18 ` [RFC][patch 12/12][CFQ-cgroup] entry/remove active cfq_data Satoshi UCHIDA
2008-04-03 7:18 ` Satoshi UCHIDA
2008-04-25 9:54 ` [RFC][v2][patch 0/12][CFQ-cgroup]Yet another I/O bandwidth controlling subsystem for CGroups based on CFQ Ryo Tsuruta
2008-04-25 9:54 ` Ryo Tsuruta
2008-04-25 21:37 ` [Devel] " Florian Westphal
2008-04-29 0:44 ` Ryo Tsuruta
[not found] ` <20080425213702.GL19845-N26foeg2n7CSQxDm3FYtNwe+0vtP5+jfMa5aj3AfGnc@public.gmane.org>
2008-04-29 0:44 ` Ryo Tsuruta
[not found] ` <20080425.185444.115924172.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2008-04-25 21:37 ` Florian Westphal
2008-05-09 10:17 ` Satoshi UCHIDA
2008-05-09 10:17 ` Satoshi UCHIDA
2008-05-12 3:10 ` Ryo Tsuruta
2008-05-12 3:10 ` Ryo Tsuruta
[not found] ` <20080512.121019.183038803.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2008-05-12 15:33 ` Ryo Tsuruta
2008-05-12 15:33 ` Ryo Tsuruta
2008-05-22 13:04 ` Ryo Tsuruta
2008-05-23 2:53 ` Satoshi UCHIDA
2008-05-26 2:46 ` Ryo Tsuruta
2008-05-26 2:46 ` Ryo Tsuruta
[not found] ` <20080526.114627.104044752.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2008-05-27 11:32 ` Satoshi UCHIDA
2008-05-27 11:32 ` Satoshi UCHIDA
2008-05-30 10:37 ` Andrea Righi
2008-05-30 10:37 ` Andrea Righi
2008-06-18 9:48 ` Satoshi UCHIDA [this message]
2008-06-18 22:33 ` Andrea Righi
2008-06-18 22:33 ` Andrea Righi
2008-06-22 17:04 ` Andrea Righi
2008-06-22 17:04 ` Andrea Righi
2008-06-03 8:15 ` Ryo Tsuruta
2008-06-03 8:15 ` Ryo Tsuruta
[not found] ` <20080603.171535.246514860.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2008-06-26 4:49 ` Satoshi UCHIDA
2008-06-26 4:49 ` Satoshi UCHIDA
[not found] ` <20080522.220438.226802699.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2008-05-23 2:53 ` Satoshi UCHIDA
[not found] ` <20080513.003316.226782406.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2008-05-22 13:04 ` Ryo Tsuruta
[not found] ` <6599ad830804021541s3c1e3197y77d87f63bf47e4b3-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-04-03 7:09 ` Satoshi UCHIDA
2008-04-01 9:33 ` [RFC][patch 4/11][CFQ-cgroup] Create cfq driver unique data Satoshi UCHIDA
2008-04-01 9:33 ` Satoshi UCHIDA
2008-04-01 9:35 ` [RFC][patch 5/11][CFQ-cgroup] Add cfq optional operation framework Satoshi UCHIDA
2008-04-01 9:35 ` Satoshi UCHIDA
2008-04-01 9:36 ` [RFC][patch 6/11][CFQ-cgroup] Add new control layer over traditional control layer Satoshi UCHIDA
2008-04-01 9:36 ` Satoshi UCHIDA
2008-04-01 9:37 ` [RFC][patch 7/11][CFQ-cgroup] Control cfq_data per driver Satoshi UCHIDA
2008-04-01 9:37 ` Satoshi UCHIDA
2008-04-01 9:38 ` [RFC][patch 8/11][CFQ-cgroup] Control cfq_data per cgroup Satoshi UCHIDA
2008-04-01 9:38 ` Satoshi UCHIDA
2008-04-03 15:35 ` Paul Menage
[not found] ` <6599ad830804030835s73392db0v29426425c0ea4381-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-04-04 6:20 ` Satoshi UCHIDA
2008-04-04 6:20 ` Satoshi UCHIDA
2008-04-04 9:00 ` Paul Menage
2008-04-04 9:00 ` Paul Menage
[not found] ` <6599ad830804040200u1ed48f4bxecaa664862cf30a5-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-04-04 9:46 ` Satoshi UCHIDA
2008-04-04 9:46 ` Satoshi UCHIDA
2008-04-03 15:35 ` Paul Menage
2008-04-01 9:40 ` [RFC][patch 9/11][CFQ-cgroup] Search cfq_data when not connected Satoshi UCHIDA
2008-04-01 9:40 ` Satoshi UCHIDA
2008-04-01 9:41 ` [RFC][patch 10/11][CFQ-cgroup] Control service tree: Main functions Satoshi UCHIDA
2008-04-01 9:41 ` Satoshi UCHIDA
2008-04-01 9:42 ` [RFC][patch 11/11][CFQ-cgroup] entry/remove active cfq_data Satoshi UCHIDA
2008-04-01 9:42 ` Satoshi UCHIDA
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='001501c8d128$76e734e0$64b59ea0$@jp.nec.com' \
--to=s-uchida@ap.jp.nec.com \
--cc=axboe@kernel.dk \
--cc=containers@lists.linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=righi.andrea@gmail.com \
--cc=ryov@valinux.co.jp \
--cc=tom-sugawara@ap.jp.nec.com \
--cc=vtaras@openvz.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.