Re: linux-next: build failure after merge of the akpm-current tree

Luis R. Rodriguez
2014-06-26T17:36:43Z

On Thu, Jun 26, 2014 at 01:45:13PM +0200, Petr Mládek wrote:
> On Thu 2014-06-26 10:29:40, Luis R. Rodriguez wrote:
> > On Thu, Jun 26, 2014 at 04:22:57PM +1000, Stephen Rothwell wrote:
> > > Hi Andrew,
> > >
> > > After merging the akpm tree, today's linux-next build (powerpc
> > > ppc44x_defconfig) failed like this:
> > >
> > > kernel/printk/printk.c: In function 'log_buf_add_cpu':
> > > kernel/printk/printk.c:269:37: error: 'CONFIG_LOG_CPU_MAX_BUF_SHIFT' undeclared (first use in this function)
> > > #define __LOG_CPU_MAX_BUF_LEN (1 << CONFIG_LOG_CPU_MAX_BUF_SHIFT)
> > > ^
> > > kernel/printk/printk.c:864:42: note: in expansion of macro '__LOG_CPU_MAX_BUF_LEN'
> > > cpu_extra = (num_possible_cpus() - 1) * __LOG_CPU_MAX_BUF_LEN;
> > > ^
> > > kernel/printk/printk.c:269:37: note: each undeclared identifier is reported only once for each function it appears in
> > > #define __LOG_CPU_MAX_BUF_LEN (1 << CONFIG_LOG_CPU_MAX_BUF_SHIFT)
> > > ^
> > > kernel/printk/printk.c:864:42: note: in expansion of macro '__LOG_CPU_MAX_BUF_LEN'
> > > cpu_extra = (num_possible_cpus() - 1) * __LOG_CPU_MAX_BUF_LEN;
> > > ^
> > >
> > > Caused by commit 58209adf633e ("printk: allow increasing the ring
> > > buffer depending on the number of CPUs"). CONFIG_LOG_CPU_MAX_BUF_SHIFT
> > > is not defined for this configuration.
> >
> > diff --git a/init/Kconfig b/init/Kconfig
> > index 573d3f6..2339118 100644
> > --- a/init/Kconfig
> > +++ b/init/Kconfig
> > @@ -822,10 +822,9 @@ config LOG_BUF_SHIFT
> >
> > config LOG_CPU_MAX_BUF_SHIFT
> > int "CPU kernel log buffer size contribution (13 => 8 KB, 17 => 128KB)"
> > - range 0 21
> > - default 12
> > - depends on SMP
> > - depends on !BASE_SMALL
> > + range 0 21 if SMP && !BASE_SMALL
> > + default 12 if SMP && !BASE_SMALL
> > + default 0 if !SMP || BASE_SMALL
>
> There are situations when the default value is not defined, for
> example, when both SMP and BASE_SMALL are set.
>
> I would ignore SMP. It is handled in the code. If SMP is not defined,
> num_possible_cpus() returns 1 and "cpu_extra" is always 0. Then we
> could have:
>
> range 0 21
> default 12 if !BASE_SMALL
> default 0 if BASE_SMALL
>
>
> What about the following patch? It does the above change. Plus
> it tries to make the help text better readable. It says the basic
> details first. Then it says other useful information in
> separate paragraphs. Also I removed the computation example. It was
> not easy to parse. Interested people might want to look into sources.
>
> It could be merged into
> printk-allow-increasing-the-ring-buffer-depending-on-the-number-of-cpus.patch

Looks good to me, Andrew let me know how you prefer to amend queued up patches
on your end.

Luis