Re: 3.5-rc6 printk formatting problem during oom-kill.

Joe Perches
2012-07-09T20:44:26Z

On Mon, 2012-07-09 at 13:40 -0700, Greg Kroah-Hartmann wrote:
> On Mon, Jul 09, 2012 at 01:31:56PM -0700, Joe Perches wrote:
> > On Mon, 2012-07-09 at 20:48 +0200, Kay Sievers wrote:
> > > On Mon, 2012-07-09 at 20:27 +0200, Kay Sievers wrote:
> > > > On Mon, Jul 9, 2012 at 8:03 PM, Dave Jones <davej@redhat.com> wrote:
> > > > > I noticed that the format of the oom-killer output seems to have changed, and
> > > > > now it spews stuff like..
> > > > >
> > > > > [49461.758070] lowmem_reserve[]:
> > > > > [49461.758071] 0
> > > > > [49461.758071] 2643
> > > > > [49461.758071] 3878
> > > > > [49461.758072] 3878
> > > > > [49461.758072]
> > > > > [49461.758072] Node 0
> > > >
> > > > > Does the oom-killer code need modifying, or the printk code ?
> > > > > I know there's been some regressions in this area recently, but this is still
> > > > > happening on the current tree (8c84bf4166a4698296342841a549bbee03860ac0)
> > > >
> > > > This likely fixes it:
> > > > http://git.kernel.org/?p=linux/kernel/git/kay/patches.git;a=blob;f=kmsg-merge-cont.patch;hb=HEAD
> > > >
> > > > Let me check if it does, and if I can reproduce it.
> > >
> > > It looks fine here with the above mentioned patch:
> > > [ 0.000000] lowmem_reserve[]:
> > > [ 0.000000] 0
> > > [ 0.000000] 0
> > > [ 0.000000] 0
> > > [ 0.000000] 0
> > > [ 0.000000]
> > > [ 0.000000] DMA:
> > > [ 0.000000] 1*4kB
> > > [ 0.000000] 0*8kB
> > > [ 0.000000] 0*16kB
> > > [ 0.000000] 1*32kB
> > > [ 0.000000] 2*64kB
> > > [ 0.000000] 1*128kB
> > > [ 0.000000] 1*256kB
> > > [ 0.000000] 0*512kB
> > > [ 0.000000] 1*1024kB
> > > [ 0.000000] 1*2048kB
> > > [ 0.000000] 3*4096kB
> > > [ 0.000000] = 15908kB
> > >
> > > becomes:
> > > [ 0.000000] lowmem_reserve[]: 0 0 0 0
> > > [ 0.000000] DMA: 1*4kB 0*8kB 0*16kB 1*32kB 2*64kB 1*128kB 1*256kB 0*512kB 1*1024kB 1*2048kB 3*4096kB = 15908kB
> >
> > Hi Kay.
> >
> > That single patch doesn't apply cleanly to Linus'
> > 8c84bf4166a4698296342841a549bbee03860ac0
> >
> > What else is necessary?
> >
> > Your tree seems to have a collection of random patches.
> >
> > It might be useful to clone Linus' tree and produce a
> > branch with all the necessary printk patches in it so
> > someone else could pull it.
>
> They should all now be in my driver-core-next branch that will show up
> in the next linux-next release, so having a separate tree isn't
> necessary.

I don't think so.

There are real defects in the existing code.

These are patches that are necessary _now_.
not for a -next 3.6 future.