N-way mirror read speedup in zfsonlinux

Will Andrews will at firepipe.net
Fri Aug 16 17:02:13 UTC 2013


We have a vdev_geom_attrchanged() in our tree as well, to support
physical path management (an early version of which is in the zfsd
project branch; commits to HEAD are still pending).  So, my request
would be that you change vdev_geom_attrchanged() to execute
vdev_geom_set_rotating() explicitly only if the attribute matches, to
ease merging.

Does the change pass a STF run on a DEBUG build?

Thanks!
--Will.


On Fri, Aug 16, 2013 at 10:17 AM, Steven Hartland
<killing at multiplay.co.uk> wrote:
> Baring any more feedback I intend to commit this soon, so please shout
> if there's anything outstanding ;-)
>
> ----- Original Message ----- From: "Steven Hartland"
>
>> ----- Original Message ----- From: "Matthew Ahrens" <mahrens at delphix.com>
>>
>>
>>> The platform-independent code in the patch looks good to me with one
>>> exceptions:
>>>
>>>  mm->mm_children = c--;
>>>
>>> It's non-obvious why c should be decremented *here*, as opposed to as
>>> part
>>> of the loop logic.  If there's some trick going on with the loop then
>>> it's
>>> lost on me.
>>
>>
>> This just configures 'c' so the loop starts with the last child, could
>> split
>> to a c--; on its own line if people prefer?
>>
>>> Does it matter that we go through the children in reverse
>>> order?  Is there something wrong with the existing loop logic:
>>>
>>>  for (c = 0; c < mm->mm_children; c++) {
>>
>>
>> Order is not important, but using a do{} while(); provides a small
>> optimisation
>> which avoids the first loop test totally and then on subisquent iterations
>> compare against a constant not through a struct pointer.
>
>
>    Regards
>    Steve
>
> ================================================
> This e.mail is private and confidential between Multiplay (UK) Ltd. and the
> person or entity to whom it is addressed. In the event of misdirection, the
> recipient is prohibited from using, copying, printing or otherwise
> disseminating it or any information contained in it.
> In the event of misdirection, illegible or incomplete transmission please
> telephone +44 845 868 1337
> or return the E.mail to postmaster at multiplay.co.uk.
>
> _______________________________________________
> zfs-devel at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/zfs-devel
> To unsubscribe, send any mail to "zfs-devel-unsubscribe at freebsd.org"


More information about the zfs-devel mailing list