On Mon, Nov 24, 2014 at 12:27:42AM +0000, Ben Hutchings wrote:
> >             copylen = vnet_hdr.hdr_len ? vnet_hdr.hdr_len : GOODCOPY_LEN;
> >             if (copylen > good_linear)
> >                     copylen = good_linear;
> >             linear = copylen;
> > -           if (iov_pages(iv, vnet_hdr_len + copylen, count)
> > -               <= MAX_SKB_FRAGS)
> > +           i = *from;
> > +           iov_iter_advance(&i, copylen);
> > +           if (iov_iter_npages(&i, INT_MAX) <= MAX_SKB_FRAGS)
> 
> The maxpages argument should be MAX_SKB_FRAGS + 1 as we don't need the
> exact number.

In principle, that's true, but...  Do we really care?  It only buys you
anything if you have a monstrously fragmented iovec.  And if you end up
spending too considerable amount of time in that loop in iov_iter_npages,
you are by definition on the slow path - it *will* fail, since we do not
even try to merge adjacent iovec segments.  Never had...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to