[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190226190431.GK2217@ZenIV.linux.org.uk>
Date: Tue, 26 Feb 2019 19:04:32 +0000
From: Al Viro <viro@...iv.linux.org.uk>
To: Eric Dumazet <edumazet@...gle.com>
Cc: "David S . Miller" <davem@...emloft.net>,
linux-kernel <linux-kernel@...r.kernel.org>,
netdev <netdev@...r.kernel.org>,
Eric Dumazet <eric.dumazet@...il.com>
Subject: Re: [PATCH v2] iov_iter: optimize page_copy_sane()
On Tue, Feb 26, 2019 at 10:42:39AM -0800, Eric Dumazet wrote:
> Avoid cache line miss dereferencing struct page if we can.
>
> page_copy_sane() mostly deals with order-0 pages.
>
> Extra cache line miss is visible on TCP recvmsg() calls dealing
> with GRO packets (typically 45 page frags are attached to one skb).
>
> Bringing the 45 struct pages into cpu cache while copying the data
> is not free, since the freeing of the skb (and associated
> page frags put_page()) can happen after cache lines have been evicted.
Applied.
Powered by blists - more mailing lists