Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751596AbdCRLqn (ORCPT ); Sat, 18 Mar 2017 07:46:43 -0400 Received: from mail-qt0-f195.google.com ([209.85.216.195]:33090 "EHLO mail-qt0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751332AbdCRLqk (ORCPT ); Sat, 18 Mar 2017 07:46:40 -0400 MIME-Version: 1.0 In-Reply-To: <20170316183142.15806.38824.stgit@localhost.localdomain> References: <20170316183142.15806.38824.stgit@localhost.localdomain> From: Michael Kerrisk Date: Sat, 18 Mar 2017 12:45:23 +0100 X-Google-Sender-Auth: MfuPZBeE08jY-1igoqo3gyCqAyY Message-ID: Subject: Re: [net-next PATCH 0/5] Add busy poll support for epoll under certain circumstances To: Alexander Duyck Cc: netdev , Linux Kernel , sridhar.samudrala@intel.com, Eric Dumazet , David Miller , Linux API Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3021 Lines: 75 [CC += linux-api@vger.kernel.org] Hello Alexander Since this is a kernel-user-space API change, please CC linux-api@ (and on future iterations of the patch). The kernel source file Documentation/SubmitChecklist notes that all Linux kernel patches that change userspace interfaces should be CCed to linux-api@vger.kernel.org, so that the various parties who are interested in API changes are informed. For further information, see https://www.kernel.org/doc/man-pages/linux-api-ml.html Thanks, Michael On Thu, Mar 16, 2017 at 7:32 PM, Alexander Duyck wrote: > This patch series is meant to add busy polling support to epoll when all of > the sockets on a given epoll are either local or are being sourced by the > same NAPI ID. > > In order to support this the first two patches clean up a few issues we > found with the NAPI ID tracking and infrastructure. > > In the third patch we introduce SO_INCOMING_NAPI_ID so that applications > have a means of trying to sort their incoming sockets to identify which > requests should be routed where in order to keep the epoll listener aligned > to a given Rx queue without having to rely on IRQ pinning. > > Finally the last two patches refactor the existing busy poll infrastructure > to make it so that we can call it without necessarily needing a socket, and > enable the bits needed to support epoll when all of the sockets on the > epoll either share the same NAPI ID, or simply are reporting no NAPI ID. > > --- > > Sridhar Samudrala (5): > net: Do not record sender_cpu as napi_id in socket receive paths > net: Call sk_mark_napi_id() in the ACK receive path > net: Introduce SO_INCOMING_NAPI_ID > net: Commonize busy polling code to focus on napi_id instead of socket > epoll: Add busy poll support to epoll with socket fds. > > > arch/alpha/include/uapi/asm/socket.h | 2 + > arch/avr32/include/uapi/asm/socket.h | 2 + > arch/frv/include/uapi/asm/socket.h | 2 + > arch/ia64/include/uapi/asm/socket.h | 2 + > arch/m32r/include/uapi/asm/socket.h | 2 + > arch/mips/include/uapi/asm/socket.h | 2 + > arch/mn10300/include/uapi/asm/socket.h | 2 + > arch/parisc/include/uapi/asm/socket.h | 2 + > arch/powerpc/include/uapi/asm/socket.h | 2 + > arch/s390/include/uapi/asm/socket.h | 2 + > arch/sparc/include/uapi/asm/socket.h | 2 + > arch/xtensa/include/uapi/asm/socket.h | 2 + > fs/eventpoll.c | 115 ++++++++++++++++++++++++++++++++ > include/net/busy_poll.h | 14 +++- > include/uapi/asm-generic/socket.h | 2 + > net/core/dev.c | 16 ++-- > net/core/sock.c | 22 ++++++ > net/ipv4/tcp_ipv4.c | 1 > 18 files changed, 183 insertions(+), 11 deletions(-) > > -- -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Author of "The Linux Programming Interface", http://blog.man7.org/