public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* CFQ is broken for CONFIG_BLK_CGROUP=y, CFQ_GROUP_IOSCHED=n
@ 2010-04-28 12:44 Dmitry Monakhov
  2010-04-28 13:48 ` Vivek Goyal
  2010-04-28 15:09 ` Vivek Goyal
  0 siblings, 2 replies; 6+ messages in thread
From: Dmitry Monakhov @ 2010-04-28 12:44 UTC (permalink / raw)
  To: linux-kernel; +Cc: jens.axboe, Vivek Goyal


I've had an  oops on kernel boot due to NULL pointer deference
linux-2.6-block/for-next HEAD:7eaed1226ab411ee5dc8c34fc0d8034e4c98e3c6
I've enabled CONFIG_BLK_CGROUP, but not CFQ_GROUP_IOSCHED
In this case cfq_ref_get_cfqg() defined as 
static inline struct cfq_group *cfq_ref_get_cfqg(struct cfq_group *cfqg)
{
        return NULL;
}
So following call trace is simply NOOP
cfq_set_request()
 rq->elevator_private3 = cfq_ref_get_cfqg(cfqq->cfqg);

Which later result in OOPS on bio insertion
cfq_insert_request
 -> blkiocg_update_io_add_stats(&(RQ_CFQG(rq))->blkg,...)
    -> spin_lock_irqsave(&blkg->stats_lock, flags);

Bad commit.
>From 7f1dc8a2d2f45fc557b27fd56115338b1d34fc24 Mon Sep 17 00:00:00 2001
From: Vivek Goyal <vgoyal@redhat.com>
Date: Wed, 21 Apr 2010 17:44:16 +0200
Subject: [PATCH] blkio: Fix blkio crash during rq stat update

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-04-28 17:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-28 12:44 CFQ is broken for CONFIG_BLK_CGROUP=y, CFQ_GROUP_IOSCHED=n Dmitry Monakhov
2010-04-28 13:48 ` Vivek Goyal
2010-04-28 15:09 ` Vivek Goyal
2010-04-28 15:36   ` Dmitry Monakhov
2010-04-28 15:44     ` Vivek Goyal
2010-04-28 17:43     ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox