Subject: Re: [crash] kernel BUG at net/core/pktgen.c:3503!

From: Ingo Molnar <[email-masked]>
Date: Mon, 21 Sep 2009 18:45:38 +0200

* Ingo Molnar <[email-masked]> wrote:

> 
> * David Miller <[email-masked]> wrote:
> 
> > From: Cyrill Gorcunov <[email-masked]>
> > Date: Tue, 15 Sep 2009 22:51:12 +0400
> > 
> > > [Ingo Molnar - Tue, Sep 15, 2009 at 08:36:47PM +0200]
> > > | 
> > > | not sure which merge caused this, but i got this boot crash with latest 
> > > | -git:
> > > | 
> > > | calling  flow_cache_init+0x0/0x1b9 @ 1
> > > | initcall flow_cache_init+0x0/0x1b9 returned 0 after 64 usecs
> > > | calling  pg_init+0x0/0x37c @ 1
> > > | pktgen 2.72: Packet Generator for packet performance testing.
> > > | ------------[ cut here ]------------
> > > | kernel BUG at net/core/pktgen.c:3503!
> > > | invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
> > > | last sysfs file: 
> > > | 
> > > 
> > > Hi Ingo,
> > > 
> > > just curious, will the following patch fix the problem?
> > > I've been fixing problem with familiar symthoms on
> > > system with custome virtual cpu implementation so
> > > it may not help in mainline but anyway :)
> > 
> > Ingo, does Cyrill's patch help?
> 
> For now i've turned pktgen off in my tests. Will check it again once 
> things have calmed down somewhat.
> 
> Also, i just tried to reproduce the pktgen crash with latest -git and 
> the config i sent - no luck, so i cannot test Cyrill's patch either.
> 
> Btw., we are seeing some other preempt count and task related 
> weirdnesses as well in other code, maybe it's related. No good pattern 
> yet to act upon.
> 
> Anyway - please disregard this bugreport until i've investigated it 
> closer.

Update: i've further investigated it and this bug was caused by a 
scheduler bug introduced in this merge window, which got fixed in:

  3f04e8c: sched: Re-add lost cpu_allowed check to sched_fair.c::select_task_rq_fair()

This bug caused CPU affinities to not work in essence - breaking kthread 
per-cpu assumptions in net/core/pktgen.c.

I've confirmed this by re-enabling pktgen in my tests and the crash has 
no reappeared.

Thanks,

	Ingo