Re: [Bug #13116] Can't boot with nosmp
From: Dan Williams
Date: Mon Jun 08 2009 - 12:29:45 EST
On Mon, Jun 8, 2009 at 9:15 AM, Stephen Hemminger<shemminger@xxxxxxxxxx> wrote:
> On Sun, 7 Jun 2009 11:52:49 +0200 (CEST)
> "Rafael J. Wysocki" <rjw@xxxxxxx> 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@xxxxxxxxxx>
>> 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@xxxxxxxxx>
>>
>>
>
> 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?
When there will only be one cpu the channel allocation policy changes from:
"isolate a channel per cpu"
...to:
"isolate a capability per channel".
For example, isolating per channel allows a memcpy to run concurrently
with an xor.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/