Re: [PATCH v2 1/5] md/raid10: optimize read_balance() for 'far offset' arrays

2 messages, 2 authors, 2011-06-15 · open the first message on its own page

Re: [PATCH v2 1/5] md/raid10: optimize read_balance() for 'far offset' arrays

From: Namhyung Kim <hidden>
Date: 2011-06-15 14:35:53

Namhyung Kim [off-list ref] writes:
2011-06-15 (수), 08:51 +0200, Keld Jørn Simonsen:
quoted
On Wed, Jun 15, 2011 at 11:02:00AM +0900, Namhyung Kim wrote:
quoted
If @conf->far_offset > 0, there is only 1 stripe so that we can treat
the array same as 'near' arrays.
does it also work with more than 2 copies - eg 3 copies?
I think the original code just takes the available data blocks with the 
lowest address.
Hi,

Let me clarify this: AFAIK, 'far offset' array saves redundant data in
the diagonally adjacent chunk/disk, so it could be roughly thought as
'raid0' array with reduced size - just ignore redundant chunks here. It
was my mistake considering it as 'near' array. :(
I'm confused again. If fo > 0 && fc > 1 && nc > 1 then it turns out to
a near array with reduced size, no? Does it still need to be treaded
as RAID0?

Therefore, it makes more sense distributing reads over the array based
on some criteria - here, the address of starting sector - like RAID0
does. Now I see that the same goes to the 'far copies' array exactly, so
the original code is correct.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Re: [PATCH v2 1/5] md/raid10: optimize read_balance() for 'far offset' arrays

From: NeilBrown <hidden>
Date: 2011-06-15 23:56:07

On Wed, 15 Jun 2011 23:35:53 +0900 Namhyung Kim [off-list ref] wrote:
Namhyung Kim [off-list ref] writes:
quoted
2011-06-15 (수), 08:51 +0200, Keld Jørn Simonsen:
quoted
On Wed, Jun 15, 2011 at 11:02:00AM +0900, Namhyung Kim wrote:
quoted
If @conf->far_offset > 0, there is only 1 stripe so that we can treat
the array same as 'near' arrays.
does it also work with more than 2 copies - eg 3 copies?
I think the original code just takes the available data blocks with the 
lowest address.
Hi,

Let me clarify this: AFAIK, 'far offset' array saves redundant data in
the diagonally adjacent chunk/disk, so it could be roughly thought as
'raid0' array with reduced size - just ignore redundant chunks here. It
was my mistake considering it as 'near' array. :(
I'm confused again. If fo > 0 && fc > 1 && nc > 1 then it turns out to
a near array with reduced size, no? Does it still need to be treaded
as RAID0?
This would be a mix of near and offset.  I'm not at all sure what the "best"
read balancing approach would be.  But as I don't think anyone would ever
actually use it, I don't think it really matters.

Thanks,
NeilBrown


quoted
Therefore, it makes more sense distributing reads over the array based
on some criteria - here, the address of starting sector - like RAID0
does. Now I see that the same goes to the 'far copies' array exactly, so
the original code is correct.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help