On Nov 17, 2013, at 5:43 PM, "Steven Hartland" <[email protected]> wrote:

> ----- Original Message ----- From: "Matthew Ahrens" <[email protected]>
> 
>>> Please use an enum for vdev_rotation_state
>>>> 
>>> 
>>> There's no such variable, are you refering to vdev_rotation_rate?
>> yes
>> 
>>> If so this was initially a bool for non-rotating but it was deemed using
>>> rotation_rate would be more helpful moving forward, as this value could
>>> be used to make more intelligent decisions.
>> Yes, changing it to a bool would probably be even better.  Going forward,
>> it will be easy to change this to a different type when necessary.
> 
> I'd prefer to keep it as the actual rate not an enum or bool so if we
> look to make improvements in the future we have rotation rate of the
> device and dont have to implement yet another struct member to store
> this.
> 
> An example of this could be calculate lower loads for vdevs with a higher
> rotational rate.
> 
> To clarify as per ATA and SCSI specs:
> 0 = Rate unknown
> 1 = Rate non-rotationl
> 2-INT16_MAX = rotational rate

This doesn't seem future-proof to me. Today we know that 15k drives are going 
EOL
and will not be replaced. We know that variable-speed drives are important for 
low
power consumption. We also know that disks with a performance characteristic
as a function of rotation will also go away as the new technologies like 
shingles 
further destroy the simple performance model we used for magnetic disks.

In other words, I think we should use some figure of merit for varying 
performance, but
rotation isn't a good choice. Let's go ahead and abstract this today, even 
though there
will be two choices for most people today: SSD vs HDD.
 -- richard

--

[email protected]
+1-760-896-4422









_______________________________________________
developer mailing list
[email protected]
http://lists.open-zfs.org/mailman/listinfo/developer

Reply via email to