Re: [PATCH] block: Force sector and nr_sects to device alignment and granularity.

From: Martin K. Petersen
Date: Fri Mar 14 2014 - 16:26:28 EST


>>>>> "Frank" == Frank Mayhar <fmayhar@xxxxxxxxxx> writes:

Frank,

Frank> Well, in this particular case the driver is filling in the
Frank> relevant information (alignment and granularity) and then
Frank> complaining later that that information has been ignored. As I
Frank> intimated earlier, it seems a little odd to allow the driver to
Frank> specify the information, only to ignore it completely when it's
Frank> time to actually use it.

Which driver is this?

In T10 SBC these values are performance hints, not hard
requirements. They were never intended as such.

Frank> Further, in my opinion this is less "dropping information" than
Frank> it is keeping information that would be dropped by the driver
Frank> itself; were it not for this adjustment, the driver would get the
Frank> request, complain, and drop it completely. This way, as much of
Frank> the request as possible is preserved while still honoring the
Frank> constraints given by the driver.

The problem arises if you combine devices with different
granularity. The I/O topology code is then forced to scale the
granularity up.

If you enforce the granularity at the top of the stack it means the
device(s) with lesser granularity will lose information which would
otherwise be valuable to them.

We have previously entertained enforcing the granularity at the bottom
of the stack on a per-device basis. However, I stand by my opinion that
the device behavior is broken. I'd never let a device like that pass
qualification here...

--
Martin K. Petersen Oracle Linux Engineering
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/