Re: [PATCH 1/5] MD: attach data to each bio
From: NeilBrown <hidden>
Date: 2017-02-13 09:32:43
Attachments
- signature.asc [application/pgp-signature] 832 bytes
From: NeilBrown <hidden>
Date: 2017-02-13 09:32:43
On Mon, Feb 13 2017, Christoph Hellwig wrote:
On Fri, Feb 10, 2017 at 05:08:54PM +1100, NeilBrown wrote:quoted
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.
I probably wasn't clear, but my intention was to stick with my original approach, but make it more acceptable by removing the extra cost of cache-line-bouncing that Shaohua correctly identified. i.e. this patch was a preliminary to improve the original series. Thanks, NeilBrown