lkml.org 
[lkml]   [2008]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 03/41] cpu alloc: Use cpu allocator instead of the builtin modules per cpu allocator
On Thu, 29 May 2008 22:14:17 -0700 (PDT) Christoph Lameter <clameter@sgi.com> wrote:

> On Thu, 29 May 2008, Andrew Morton wrote:
>
> > > + printk(KERN_WARNING "%s: per-cpu alignment %li > %li\n",
> > > + mod->name, align, PAGE_SIZE);
> >
> > Indenting broke.
>
> Hmmm. Okay.
>
> > Alas, PAGE_SIZE has, iirc, unsigned type on some architectures and
> > unsigned long on others. I suspect you'll need to cast it to be able
> > to print it.
>
> This is code that was moved.
>
> > > + percpu = cpu_alloc(size, GFP_KERNEL|__GFP_ZERO, align);
> > > + if (!percpu)
> > > + printk(KERN_WARNING "Could not allocate %lu bytes percpu data\n",
> >
> > 80-col bustage,.
> >
> > A printk like this should, I think, identify what part of the kernel it
> > came from.
>
> Again moved code. Should I really do string separations for code
> that is moved?

That's not a string separation - it is a functional improvement.

Sure, why not fix these little things while we're there?

> > But really, I don't think any printk should be present here.
> > cpu_alloc() itself should dump the warning and the backtrace when it
> > runs out. Because a cpu_alloc() failure is a major catastrophe. It
> > probably means a reconfigure-and-reboot cycle.
>
> The code has been able to deal with an allocpercpu failure in the
> past. Why would it have trouble with a cpu_alloc failure here?

Because an alloc_percpu failure is a page allocator failure. This is a
well-known situation which we know basically never happens, or at least
happens under well-known circumstances.

Whereas a cpu_alloc() failure is a dead box. We cannot fix it via
running page reclaim. We cannot fix it via oom-killing someone. We
are dead.


\
 
 \ /
  Last update: 2008-05-30 07:37    [W:0.194 / U:0.228 seconds]
©2003-2011 Jasper Spaans