Hi Johannes, On Wed, Aug 5, 2009 at 10:04 AM, Johannes Berg<johannes@xxxxxxxxxxxxxxxx> wrote: > Right now, except from the stuff Luis had broken and fixed, the real > problem is that there are a bunch of bugs that appear to have been in > the code forever, just never noticed -- for instance the code can end up > calling synchronize_rcu() in an atomic section. I agree that there is a bug in that would cause a synchronize_rcu() in an atomic section when the mpath table grows beyond a certain size. The bug was there since the first submission of the mesh code, yes. However, the "bunch of bugs that appear to have been in the code forever" are, I believe, regressions. In particular we've identified: - Airtime Link Metric broken (fix in progress) - Forwarding path broken (fixed here: http://marc.info/?l=linux-wireless&m=124698982910794&w=2) - mpath pending queue broken (fixed here: http://marc.info/?l=linux-wireless&m=124717648406661&w=2) - PREQ notification broken (fixed here: http://marc.info/?l=linux-wireless&m=124752948320455&w=2) We've been busy with those but the synchronize_rcu fix is next in our list. > This is the reason for disabling it -- it can splatter all over the > scheduler if that happens, and it's not clear to me that it cannot > happen. It seems not to happen in _most_ scenarios, but I've certainly > caused it to happen by not beaconing, for instance. I also agree with your assessment of the severity of the bug. Hopefully we'll get to fix it really soon so we can re-enable mesh again. Thanks, -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html