On Fri, Feb 10, 2017 at 05:08:54PM +1100, NeilBrown wrote: > I must say that I don't really like this approach. > Temporarily modifying ->bi_private and ->bi_end_io seems > .... intrusive. I suspect it works, but I wonder if it is really > robust in the long term. > > How about a different approach.. Your main concern with my first patch > was that it called md_write_start() and md_write_end() much more often, > and these performed atomic ops on "global" variables, particular > writes_pending. > > We could change writes_pending to a per-cpu array which we only count > occasionally when needed. As writes_pending is updated often and > checked rarely, a per-cpu array which is summed on demand seems > appropriate. FYI, I much prefer you original approach, it's much closer to how the rest of the block stack works. -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html