FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Device-mapper Development

 
 
LinkBack Thread Tools
 
Old 04-30-2012, 05:24 PM
Mike Snitzer
 
Default dm: update max_io_len to support a split_io that is not a power of 2

On Mon, Apr 30 2012 at 12:10pm -0400,
Alasdair G Kergon <agk@redhat.com> wrote:

> On Sat, Apr 28, 2012 at 12:44:28AM -0400, Mike Snitzer wrote:
> > Required to support a target's use of a non power of 2 blocksize.
>
> For which targets?

striped and thin-pool for starters.

> (merge_bvec supported?)

Yes.

> > + boundary = ti->split_io - do_div(tmp, ti->split_io);
>
> sector_div()?
>
> What about 32-bit arch + LBD + large split_io (from raid?)
> - Is a 32-bit restriction on split_io unreasonable nowadays?
> - OR reasonable on 32bit/LBD?
> - OR fallback to old code there?

I cannot see why we'd need a split_io that is larger than 32 bits -- a
32bit split_io can support up to 2TB (2**32 * 512b sectors). Even
on a LBD (raid) the stripe size (split_io) will not be so large.

(though yes we would need to establish a check in DM core that split_io is
limited to 32-bit -- even though the 'sector_t' is used for split_io;
and the comment inside the 'struct dm_target' would need updating).

But what I think what you're driving at is: is there a benefit/reason to
maintain the old code for some target that won't ever use non power of 2
split_io (e.g. dm-raid at the moment)? I see no point for the duality
in the code but I'm open to the idea if you have a specific reason in
mind -- are you concerned about perf on more obscure/older hardware?

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
 
Old 04-30-2012, 06:59 PM
Mike Snitzer
 
Default dm: update max_io_len to support a split_io that is not a power of 2

On Mon, Apr 30 2012 at 2:36pm -0400,
Alasdair G Kergon <agk@redhat.com> wrote:

> On Mon, Apr 30, 2012 at 01:24:00PM -0400, Mike Snitzer wrote:
> > On Mon, Apr 30 2012 at 12:10pm -0400,
> > Alasdair G Kergon <agk@redhat.com> wrote:
> > > On Sat, Apr 28, 2012 at 12:44:28AM -0400, Mike Snitzer wrote:
> > > > Required to support a target's use of a non power of 2 blocksize.
> > > For which targets?
> > striped and thin-pool for starters.
> > > (merge_bvec supported?)
> > Yes.
>
> But there's overlap between merge_bvec and split_io.
> - Why does stripe_merge() have:
>
> if (!q->merge_bvec_fn)
> return max_size;
>
> when it's already done the division?
>
> - Couldn't that be changed to avoid split_io causing a split?
> (Except, as ever, across a table reload, which prevents us
> removing it completely.)
>
> > I cannot see why we'd need a split_io that is larger than 32 bits -- a
> > 32bit split_io can support up to 2TB (2**32 * 512b sectors). Even
> > on a LBD (raid) the stripe size (split_io) will not be so large.
>
> But is that enforced in the raid code or not?

No idea, need Jon to weigh in here. I'm hopeful we can impose 32bit
within dm-raid and coordinate with Neil on getting the appropriate MD
code (chunk_sectors) to reflect the reality that 32 bit is adequate.

> > But what I think what you're driving at is:
>
> (I'm not convinced the proposed patch has been tested on 32-bit+LBD,
> attempting to divide by a 64-bit number etc.)

Right, it wasn't tested on 32bit. It'll fail to build due to split_io
being sector_t.

> > is there a benefit/reason to
> > maintain the old code for some target that won't ever use non power of 2
> > split_io (e.g. dm-raid at the moment)? I see no point for the duality
> > in the code but I'm open to the idea if you have a specific reason in
> > mind -- are you concerned about perf on more obscure/older hardware?
>
> EITHER the 32 bit split_io *must* be enforced (after we've convinced
> ourselves 64 bits will never be required);
> OR we keep it 64-bit and add some compat code.

Yeap, I'm hopeful we can go with the former.

Jon, what do you think?

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
 

Thread Tools




All times are GMT. The time now is 05:48 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org