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 kernel-testers" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html