Thread (31 messages) 31 messages, 4 authors, 2017-02-17

Re: [PATCH 00/17] md: cleanup on direct access to bvec table

From: Ming Lei <tom.leiming@gmail.com>
Date: 2017-02-17 01:25:31
Also in: linux-raid, lkml

Hi Shaohua,

On Fri, Feb 17, 2017 at 6:16 AM, Shaohua Li [off-list ref] wrote:
On Thu, Feb 16, 2017 at 07:45:30PM +0800, Ming Lei wrote:
quoted
In MD's resync I/O path, there are lots of direct access to bio's
bvec table. This patchset kills most of them, and the conversion
is quite straightforward.
I don't like this approach. The MD uses a hacky way to manage pages allocated,
this is the root of the problem. The patches add another hack way to do the
Yes, I agree, and bio_iov_iter_get_pages() uses this kind of hacky way too
actually.
management. I'd like to see explict management of the pages, for example, add
data structure in r1bio to manage the pages, then we can use existing API for
all the stuffes we need.
Yeah, that is definitely clean, but we have to pay the following cost:

- allocate at least N * (128 + 4) bytes per each r1_bio/r10_bio
- N is pool_info.raid_disks for raid1, and conf->copies for raid10

If we are happy to introduce the cost, I can take this way in V1.


Thanks,
Ming Lei
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help