All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Chris Mason <chris.mason@oracle.com>
Cc: Jens Axboe <axboe@kernel.dk>, LKML <linux-kernel@vger.kernel.org>
Subject: Re: cfq crashing on boot with CONFIG_DEBUG_PAGE_ALLOC (linus master)
Date: Tue, 17 Jan 2012 09:35:00 -0800	[thread overview]
Message-ID: <20120117173500.GA6762@google.com> (raw)
In-Reply-To: <20120117161024.GC30322@shiny>

On Tue, Jan 17, 2012 at 11:10:24AM -0500, Chris Mason wrote:
> Hi everyone,
> 
> Looks like cfq is using stale pages, I'm getting crashes on boot with
> CONFIG_DEBUG_PAGE_ALLOC enabled.  The oops leads to crashing in
> cfqq_type, and if you add some fuzz for inlining, it looks like we're
> here:
> 
> (gdb) list *cfq_insert_request+0x3f5
> 0xffffffff812683d8 is in cfq_insert_request (block/cfq-iosched.c:3131).
> 3126	
> 3127		/*
> 3128		 * workload type is changed, don't save slice, otherwise preempt
> 3129		 * doesn't happen
> 3130		 */
> 3131		if (cfqq_type(old_cfqq) != cfqq_type(cfqq))
> 3132			cfqq->cfqg->saved_workload_slice = 0;
> 3133	
> 3134		/*
> 3135		 * Put the new queue at the front of the of the current list,
> 
> It seems like the most likely reason is that old_cfqq was previously
> freed:
> 
>         struct cfq_queue *old_cfqq = cfqd->active_queue;

Does the following patch resolve the problem?

  http://article.gmane.org/gmane.linux.kernel.next/20340/raw

Thanks.

-- 
tejun

  reply	other threads:[~2012-01-17 17:35 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-17 16:10 cfq crashing on boot with CONFIG_DEBUG_PAGE_ALLOC (linus master) Chris Mason
2012-01-17 17:35 ` Tejun Heo [this message]
2012-01-17 17:59   ` Chris Mason
2012-01-17 18:35     ` Tejun Heo

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=20120117173500.GA6762@google.com \
    --to=tj@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=chris.mason@oracle.com \
    --cc=linux-kernel@vger.kernel.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.