[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120628095103.3c6c0a1e@tux.DEF.witbe.net>
Date: Thu, 28 Jun 2012 09:51:03 +0200
From: Paul Rolland <rol@...917.net>
To: Tejun Heo <tj@...nel.org>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Jens Axboe <axboe@...nel.dk>
Subject: Re: 3.5.0-rc3 - Issue with CFQ and cgroup
Hello,
On Wed, 27 Jun 2012 11:22:02 -0700
Tejun Heo <tj@...nel.org> wrote:
> Hello,
>
> > io scheduler noop registered
> Can you please test the following branch?
>
> git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
> for-linus
Well code is the same.... so is the result :
[root@tux ~]# uname -a
Linux tux.DEF.witbe.net 3.5.0-rc4-g6b16351 #1 SMP PREEMPT Thu Jun 28
09:11:07 CEST 2012 x86_64 x86_64 x86_64 GNU/Linux
and
------------[ cut here ]------------
WARNING: at block/blk-cgroup.c:867 blkcg_policy_register+0xb5/0xc0()
Hardware name: Vostro 1520
Modules linked in:
Pid: 1, comm: swapper/0 Not tainted 3.5.0-rc4-g6b16351 #1
Call Trace:
[<ffffffff8103a59a>] warn_slowpath_common+0x7a/0xb0
[<ffffffff81cafbee>] ? deadline_init+0x12/0x12
[<ffffffff8103a5e5>] warn_slowpath_null+0x15/0x20
[<ffffffff8131aab5>] blkcg_policy_register+0xb5/0xc0
[<ffffffff81cafc30>] cfq_init+0x42/0x9f
[<ffffffff810001ba>] do_one_initcall+0x3a/0x160
[<ffffffff81c8ed08>] kernel_init+0x137/0x1bb
[<ffffffff81c8e5c5>] ? do_early_param+0x87/0x87
[<ffffffff8169e954>] kernel_thread_helper+0x4/0x10
[<ffffffff81c8ebd1>] ? start_kernel+0x3b2/0x3b2
[<ffffffff8169e950>] ? gs_change+0xb/0xb
---[ end trace 82bc55f036371117 ]---
and of course cfq is missing in :
[root@tux ~]# cat /sys/block/sda/queue/scheduler
[noop] deadline
Looking at the code, it seems strange that cfq_init requires
blkcg_policy_register to be successfull, wether you have defined
CFQ_CGROUP_IOSCHED or not.
So, I applied the following patch, and I now have:
[root@tux ~]# cat /sys/block/sda/queue/scheduler
noop deadline [cfq]
Not sure this is the correct patch, but at least it works for me (tm) ;)
Signed-Off-by: Paul Rolland <rol@...917.net>
diff -urN block/cfq-iosched.orig block/cfq-iosched.c
--- block/cfq-iosched.orig 2012-06-28 09:39:06.000000000 +0200
+++ block/cfq-iosched.c 2012-06-28 09:39:31.000000000 +0200
@@ -4198,9 +4198,11 @@
cfq_group_idle = 0;
#endif
+#ifdef CONFIG_CFQ_GROUP_IOSCHED
ret = blkcg_policy_register(&blkcg_policy_cfq);
if (ret)
return ret;
+#endif
cfq_pool = KMEM_CACHE(cfq_queue, 0);
if (!cfq_pool)
@@ -4215,7 +4217,9 @@
err_free_pool:
kmem_cache_destroy(cfq_pool);
err_pol_unreg:
+#ifdef CONFIG_CFQ_GROUP_IOSCHED
blkcg_policy_unregister(&blkcg_policy_cfq);
+#endif
return ret;
}
Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists