Ah, here's where I come in and say that kmap_atomic stinks and needs to be
replaced. ;-) If you take a look at code in various places making use of
atomic kmaps, some of the more interesting cases (like bio) have to disable
irqs during memory copies in order to avoid races on reuse of an atomic
kmap. I think that's a sign of an interface that needs redesign. My
proposal: make kmap_atomic more like kmap in that it allocates from a pool,
but make the pool per cpu with ~4 entries reserved per context. The only
concern I have is that we might not be restricting the depth of irq entry
currently, but I'm not familiar with that code. Time to code up a patch...
> Other than that it looks fairly straightforward, I think.
Agreed.
-ben
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/