optimize copy_page_{to,from}_iter()
if we'd ended up in the end of a segment, jump to the
beginning of the next one (iov_offset = 0, iov++),
rather than having the next primitive deal with that.
Ought to be folded back...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
diff --git a/mm/iov_iter.c b/mm/iov_iter.c
index 081e327..fcdaaab 100644
--- a/mm/iov_iter.c
+++ b/mm/iov_iter.c
@@ -74,6 +74,10 @@
}
kunmap(page);
done:
+ if (skip == iov->iov_len) {
+ iov++;
+ skip = 0;
+ }
i->count -= wanted - bytes;
i->nr_segs -= iov - i->iov;
i->iov = iov;
@@ -152,6 +156,10 @@
}
kunmap(page);
done:
+ if (skip == iov->iov_len) {
+ iov++;
+ skip = 0;
+ }
i->count -= wanted - bytes;
i->nr_segs -= iov - i->iov;
i->iov = iov;