On Wed, Jul 16, 2014 at 03:20:00PM -0400, Martin K. Petersen wrote: > The block layer can only describe one contiguous block range in a > request. My copy offload patches introduces the bi_special field that > allows us to attach additional information to an I/O. I have > experimented with doing that for discards to overcome the suck of DSM > TRIM. Splitting and merging requests in MD/DM gets much more cumbersome, > though. I had a bunch of prototypes for this years ago that didn't really work out. I always made ranged didscards something that driver had to opt in for. In my case md and dm never opted in, although for mirroring or multipath it should of course handle it fairly easily. > It also wasn't evident that it was worth the hassle. While UNMAP allows > us to express large regions, DSM TRIM on the SATA side is limited to 32 > MB per range. So in many cases we end up maxing out the payload capacity > even with a single contiguous range. That's mostly because we don't support larger than 512 byte TRIM payloads yet.. _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel