iov_iter: don't call into iov_iter_revert() for non-zero bytes
Most callers don't check if there's actually data to revert, so we end
up doing a function call only to return immediately because unroll is
equal to zero.
Add an inline helper that checks if we have bytes to unroll, and only
call into __iov_iter_revert() if that is the case, rather than add
this check in the callers we care about.
This saves 0.30% for me in workload that uses iov iterators intensively.
Signed-off-by: Jens Axboe <axboe@kernel.dk>