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
