Messages in this thread | | | Date | Wed, 27 Jun 2012 19:58:08 +0200 | From | Paul Rolland <> | Subject | 3.5.0-rc3 - Issue with CFQ and cgroup |
| |
Hello,
When I first booted my 3.5.0-rc3 config, I've some : Default I/O scheduler not found. Using noop. which surprised me. so, after the boot completed, I had a look at the system messages, and found :
... io scheduler noop registered io scheduler deadline registered ------------[ 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-rc3 #1 Call Trace: [<ffffffff8103a59a>] warn_slowpath_common+0x7a/0xb0 [<ffffffff81cafbed>] ? deadline_init+0x12/0x12 [<ffffffff8103a5e5>] warn_slowpath_null+0x15/0x20 [<ffffffff8131a6f5>] blkcg_policy_register+0xb5/0xc0 [<ffffffff81cafc2f>] cfq_init+0x42/0x9f [<ffffffff810001ba>] do_one_initcall+0x3a/0x160 [<ffffffff81c8ed08>] kernel_init+0x137/0x1bb [<ffffffff81c8e5c5>] ? do_early_param+0x87/0x87 [<ffffffff8169e3d4>] kernel_thread_helper+0x4/0x10 [<ffffffff81c8ebd1>] ? start_kernel+0x3b2/0x3b2 [<ffffffff8169e3d0>] ? gs_change+0xb/0xb ---[ end trace 82bc55f036371117 ]---
So, at the time cfq should have registered, something went wrong. It looks that this comes from my config defining CFQ, CGROUP but no CFQ_CGROUP_IOSCHED. ... CONFIG_CGROUPS=y CONFIG_IOSCHED_CFQ=y # CONFIG_CFQ_GROUP_IOSCHED is not set ...
as the code is : static struct blkcg_policy blkcg_policy_cfq __maybe_unused; ... #ifdef CONFIG_CFQ_GROUP_IOSCHED static struct blkcg_policy blkcg_policy_cfq = { .pd_size = sizeof(struct cfq_group), .cftypes = cfq_blkcg_files, .pd_init_fn = cfq_pd_init, .pd_reset_stats_fn = cfq_pd_reset_stats, }; #endif ... static int __init cfq_init(void) { ... ret = blkcg_policy_register(&blkcg_policy_cfq);
Not sure what's the best fix is... Could someone shed some light on this ?
Paul
PS: Just checked 3.5-rc4, source code there is the same.
| |