Jens Axboe wrote: > The intent was to add some sort of notification mechanism from the file > system to inform the IO scheduler (and others?) that this process is how > holding a file system wide resource. So if you have a low priority > process getting access to such a resource, you want to boost its > priority to avoid higher priority apps getting stuck beind it. Sort of a > poor mans priority inheritance. Very closely related to this: I'm building something where I want one particular task to have absolute higher I/O priority than all other tasks. No problem, use the lovely RT I/O priority facility. But if that task needs access to a buffer or page which is already undergoing I/O started by another task - what happens? I'd like the _I/O_ priority to be boosted in that case, so that the high priority task does not have to wait on a long queue of low priority I/Os. E.g. this happens when the high priority task reads from a file, and a low priority task has already initiated readahead for that file. It's a particular problem if the low priority task's I/O is queued behind a lot of other low priority I/O. That can be avoided by just not reading the same files :-) But more subtly, the high priority task may find itself waiting on metadata blocks which overlap metadata blocks from I/O in a low priority tasks. The application can't easily avoid this. So I'd like operations which wait for I/O to complete to compare the task's I/O priority with the I/O request already queued, and boost the request priority if it's lower, moving it forward in the elevator if necessary. All this to guarantee a high I/O priority task has a maximum response time no matter what low priority I/O is doing. Even O_DIRECT has to read metadata sometimes... It seems if I/O priority boosting were implemented like this, that might solve the superblock priority thing too, without needing filesystem changes and generically for all metadata? How hard would it be to do this? Thanks, -- Jamie -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html