On Fri, Oct 18, 2024 at 07:46:44AM +0200, Christoph Hellwig wrote: > On Thu, Oct 17, 2024 at 09:09:33AM -0700, Keith Busch wrote: > > From: Keith Busch <kbusch@xxxxxxxxxx> > > > > This is still backwards compatible with lifetime hints. It just doesn't > > constrain the hints to that definition. > > So in the end we'll end up with two uses of it - the existing 5 > temperature hints and the new stream separation. I think it > would be cleaner to make it a union, but I don't care that > strongly. > > But we probably want a way to distinguish which one is supported. > > E.g. for SCSI we set a net BLK_FEAT_WRITE_HINTS, for NVMe we'll set > BLK_FEAT_STREAM_SEPARATION. > > Either way this should probably be the first patch in the series. I'm not sure I follow this feedback. The SCSI feature is defined as a lifetime stream association in SBC-5. So it's still a stream for SCSI, but you want to call it "WRITE_HINT", which is not a term used in the SCSI spec for this feature. But, you want to call it STREAM_SEPARATION for NVMe only, even though the FDP spec doesn't use that term? What's wrong with just calling it a generic hint support feature? I also don't see why SCSI couldn't use per-io hints just like this enables for NVMe. The spec doesn't limit SCSI to just 5 streams, so this provides a way to access them all through the raw block device.