On 9/26/21 17:19, Damien Le Moal wrote:
Another thing: in patch 3, you are actually not handling the overflows. So dd_queued() may return some very weird number (temporarily) when the inserted count overflows before the completed count does. Since dd_dispatch_aged_requests() does not care about the actual value of dd_queued(), only if it is 0 or not, I am not 100% sure if it is useful to fix. Except maybe for sysfs attributes ?
Hmm ... I'm not following. I think it can be proven mathematically that dd_queued() returns a number in the range [0, max_queued_requests). Here is an example: * inserted = 1 (wrapped around). * completed = UINT32_MAX - 1 (about to wrap but has not yet wrapped around). * dd_queued() returns 2. Bart.