linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* raid10.c read_balance question
@ 2016-11-21 22:45 Robert LeBlanc
  2016-11-22  4:49 ` NeilBrown
  2016-11-22  9:59 ` Coly Li
  0 siblings, 2 replies; 3+ messages in thread
From: Robert LeBlanc @ 2016-11-21 22:45 UTC (permalink / raw)
  To: linux-raid

I'm looking to improve 'near' layout performance in raid10 and looking
at the code for read_balance, the comments mention that there is a
'next expected sequential IO' sector number stored for the RAID array,
but I don't see such a variable in the struct, nor do I see in
read_balance where that variable is being updated. With such a value,
I could use it (with another variable) to guess if the current
requests are random or sequential enough to take the latency hit to
move drive heads to help parallel the read. This would be a much
simpler route than what I was thinking about previously.

Am I just missing this variable? I would expect it to be in the
r10conf struct, would that be the right place to implement it if
doesn't exist?

Thanks,
----------------
Robert LeBlanc
PGP Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: raid10.c read_balance question
  2016-11-21 22:45 raid10.c read_balance question Robert LeBlanc
@ 2016-11-22  4:49 ` NeilBrown
  2016-11-22  9:59 ` Coly Li
  1 sibling, 0 replies; 3+ messages in thread
From: NeilBrown @ 2016-11-22  4:49 UTC (permalink / raw)
  To: Robert LeBlanc, linux-raid

[-- Attachment #1: Type: text/plain, Size: 1172 bytes --]

On Tue, Nov 22 2016, Robert LeBlanc wrote:

> I'm looking to improve 'near' layout performance in raid10 and looking
> at the code for read_balance, the comments mention that there is a
> 'next expected sequential IO' sector number stored for the RAID array,
> but I don't see such a variable in the struct, nor do I see in
> read_balance where that variable is being updated. With such a value,
> I could use it (with another variable) to guess if the current
> requests are random or sequential enough to take the latency hit to
> move drive heads to help parallel the read. This would be a much
> simpler route than what I was thinking about previously.
>
> Am I just missing this variable? I would expect it to be in the
> r10conf struct, would that be the right place to implement it if
> doesn't exist?

I think it is "head_position".

NeilBrown

>
> Thanks,
> ----------------
> Robert LeBlanc
> PGP Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1
> --
> 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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 800 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: raid10.c read_balance question
  2016-11-21 22:45 raid10.c read_balance question Robert LeBlanc
  2016-11-22  4:49 ` NeilBrown
@ 2016-11-22  9:59 ` Coly Li
  1 sibling, 0 replies; 3+ messages in thread
From: Coly Li @ 2016-11-22  9:59 UTC (permalink / raw)
  To: Robert LeBlanc, linux-raid

在 2016/11/22 上午6:45, Robert LeBlanc 写道:
> I'm looking to improve 'near' layout performance in raid10 and looking
> at the code for read_balance, the comments mention that there is a
> 'next expected sequential IO' sector number stored for the RAID array,
> but I don't see such a variable in the struct, nor do I see in
> read_balance where that variable is being updated. With such a value,
> I could use it (with another variable) to guess if the current
> requests are random or sequential enough to take the latency hit to
> move drive heads to help parallel the read. This would be a much
> simpler route than what I was thinking about previously.
> 
> Am I just missing this variable? I would expect it to be in the
> r10conf struct, would that be the right place to implement it if
> doesn't exist?
> 
> Thanks,
> ----------------
> Robert LeBlanc
> PGP Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1


Hi Robert,

This code was originally from Linux 2.6.9, it seems like copying from
raid1.c:read_balance(). IMHO you don't miss anything, we should remove
the following text from the comments,
    There is a per-array 'next expected sequential IO' sector
    number - if this matches on the next IO then we use the last disk.

How about compose a patch ?

Coly

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-11-22  9:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-21 22:45 raid10.c read_balance question Robert LeBlanc
2016-11-22  4:49 ` NeilBrown
2016-11-22  9:59 ` Coly Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).