Re: [Bug #13116] Can't boot with nosmp

Stephen Hemminger
2009-06-08T16:15:44Z

On Sun, 7 Jun 2009 11:52:49 +0200 (CEST)
"Rafael J. Wysocki" <rjw@sisk.pl> wrote:

> This message has been generated automatically as a part of a report
> of recent regressions.
>
> The following bug entry is on the current list of known regressions
> from 2.6.29. Please verify if it still should be listed and let me know
> (either way).
>
>
> Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=13116
> Subject : Can't boot with nosmp
> Submitter : Stephen Hemminger <shemminger@vyatta.com>
> Date : 2009-04-15 4:18 (54 days old)
> References : http://marc.info/?l=linux-kernel&m=123976917817920&w=4
> Handled-By : Dan Williams <dan.j.williams@intel.com>
>
>

I suspect this bit of code in dmaengine is the culprit:

/* redistribute available channels */
n = 0;
for_each_dma_cap_mask(cap, dma_cap_mask_all)
for_each_online_cpu(cpu) {
if (num_possible_cpus() > 1)
chan = nth_chan(cap, n++);
else
chan = nth_chan(cap, -1);

Why does num_possible_cpus() == 1 have to be a special case?
--