Optimise use of sg_page_count() in __sg_page_iter_next() in the LinuxKPI.

No need to compute value twice.

No functional change intended.

MFC after:	1 week
Sponsored by:	Mellanox Technologies
This commit is contained in:
Hans Petter Selasky 2020-05-04 10:10:07 +00:00
parent fe4b041a14
commit 5e6233ccab

View File

@ -416,6 +416,8 @@ sg_page_count(struct scatterlist *sg)
static inline bool
__sg_page_iter_next(struct sg_page_iter *piter)
{
unsigned int pgcount;
if (piter->internal.nents == 0)
return (0);
if (piter->sg == NULL)
@ -424,8 +426,11 @@ __sg_page_iter_next(struct sg_page_iter *piter)
piter->sg_pgoffset += piter->internal.pg_advance;
piter->internal.pg_advance = 1;
while (piter->sg_pgoffset >= sg_page_count(piter->sg)) {
piter->sg_pgoffset -= sg_page_count(piter->sg);
while (1) {
pgcount = sg_page_count(piter->sg);
if (likely(piter->sg_pgoffset < pgcount))
break;
piter->sg_pgoffset -= pgcount;
piter->sg = sg_next(piter->sg);
if (--piter->internal.nents == 0)
return (0);