Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753328AbaKXKPv (ORCPT ); Mon, 24 Nov 2014 05:15:51 -0500 Received: from zeniv.linux.org.uk ([195.92.253.2]:39483 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751092AbaKXKPt (ORCPT ); Mon, 24 Nov 2014 05:15:49 -0500 Date: Mon, 24 Nov 2014 10:15:46 +0000 From: Al Viro To: Ben Hutchings Cc: David Miller , torvalds@linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, target-devel@vger.kernel.org, nab@linux-iscsi.org, hch@infradead.org Subject: Re: [PATCH 08/17] {macvtap,tun}_get_user(): switch to iov_iter Message-ID: <20141124101546.GE7996@ZenIV.linux.org.uk> References: <20141119.165340.2162829993279387495.davem@davemloft.net> <20141120214753.GR7996@ZenIV.linux.org.uk> <20141120.182339.972861702759954603.davem@davemloft.net> <20141121.122615.1091044030302005883.davem@davemloft.net> <20141122042856.GZ7996@ZenIV.linux.org.uk> <20141122043352.GH30478@ZenIV.linux.org.uk> <1416788862.7215.65.camel@decadent.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1416788862.7215.65.camel@decadent.org.uk> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/