Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp4316644pxb; Mon, 27 Sep 2021 14:19:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxhnBmxu1UQekZgJV6Tx4IWZly9kT7ubyEiBvIPdl/91mL+W1CdkreVWHJ+Z17Vggg2iwuP X-Received: by 2002:a17:907:2064:: with SMTP id qp4mr2577700ejb.317.1632777566038; Mon, 27 Sep 2021 14:19:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632777566; cv=none; d=google.com; s=arc-20160816; b=gv/eXSRnSEBOcJHgG09OidYAvMwf3OrH15lXGCqm885gwJwzWCFkjgx9oMA8fSM0aO jd4pCKiMyX7SSR0hI3j1v/rYUHchlSh9z9XulU8y2cK6Q9HBio9DQvRbZR9MnbZtil5g al8FZLxQM8DIm+ZKmelDfUCroQvWhvyjcWCK+0uJeWEGdCd62xxHYbJwLmfKz5n4Jrlb +IaiWrl7e8MCbUZJBwFdds/x/UBJe0kxBqZx/Nm++yUf12sPWFBtkYZ/zMtDh4CzeKNg lnM/bDLZXqbJpHgiq5Olt/H7bLUT27++4TuVOp2hBGVyMmsSOSEatAwQFaNY1WNDlafh Rx+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-language:content-transfer-encoding :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=JLK/sRP9I8Wlr+P16AIpY8iwsR/LeBc/3r2jJEyV9+M=; b=Y3DnbLHtRllglF33ujKtmOLQxiPddS7vf2fw6OFQllEEJt+vRQn/sU5ifMdSYiiK2h a35JFaxEcPF6FuRFHR1xXHaIJgvRa+L7+f1ipJUa72i52MI2xUmBu/pgsiWdXxmmqAQl rz8khpCaEcoyr9bXzS254SS4Up+bNLQPGs7l4eRYi5henaOz8r9/NP6funPwLeP59HpS WcjETmR6WsQ0uec8ctAdkbIOSOLLQqzfDwitDRqVfSwc/CjsXtaKnSOayZOWUUSf5mJ1 RCvtZII3nCPJnjvzlaXlMCjQjKA2P2mK65lMxkM+6GeIPA3UX5PIJARXv2BVCqeYfHlm 7mYg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@llnw.com header.s=google header.b=MLsXgdgE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=llnw.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id nc14si1553195ejc.445.2021.09.27.14.19.01; Mon, 27 Sep 2021 14:19:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@llnw.com header.s=google header.b=MLsXgdgE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=llnw.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237149AbhI0VS6 (ORCPT + 99 others); Mon, 27 Sep 2021 17:18:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40894 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230046AbhI0VS6 (ORCPT ); Mon, 27 Sep 2021 17:18:58 -0400 Received: from mail-pg1-x531.google.com (mail-pg1-x531.google.com [IPv6:2607:f8b0:4864:20::531]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9C199C061575 for ; Mon, 27 Sep 2021 14:17:19 -0700 (PDT) Received: by mail-pg1-x531.google.com with SMTP id e7so19023831pgk.2 for ; Mon, 27 Sep 2021 14:17:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=llnw.com; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=JLK/sRP9I8Wlr+P16AIpY8iwsR/LeBc/3r2jJEyV9+M=; b=MLsXgdgEfYiZnTCSOSviYe/vWLecYqTiMgSmbLz9hNdVt/iFfJjdDMe5Ki9FfF4+fi piKeRePfkqMQijTnNQUp3p/EkmTknRbReMYjQp3rAT1CbNRyJ0/YOFjAIiQV6JzDlrK4 8FFMHNE+TQDURRnMyfOly21j523SG3sA40Yz+CcsjIi52NU6EJzKFPpHRR7MAF/Hcunm dnI/VTHT3/GEMfd5MHEhA8YtTZQFAUVgsaNQusUCyoyQOYBmNFp2L8KOIJndLneeVCU9 PmXgFLHaDX8eDrgaZo8thJsfLXPbhYGxX2lWsNTUSO8zdEs0uRzXX1GKU2DvgDu3YR4R VUoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=JLK/sRP9I8Wlr+P16AIpY8iwsR/LeBc/3r2jJEyV9+M=; b=cmWvQgmoeYjp/IDPUgllNoyK6I5h219A9Rgqc/O93OIes+sB4dsjXzetQ00QFDrc5r vCJID9sATHVS0nxTwDABRqOJa1DXIa90ll6h+BzrNdjDC20AXcvjGUBR8BS4NUfAB1lb ANdZlfoMj4FIj861otwx1R8mB5bUYDK+c00Xx/Batix9BNT9iqJtiNKKheXJwJZL2jxN QG1vIiKBu2vfBGlBBJvMiKjwrlszO5e4DGPADnSRTOMXycH8UnUwB6iy0HIxVI6ea8aC ls11RU5rlSGG6hIoQR/AlkqMLwAo0gLMRoXEbFcqozqfuuwBiUEffZ7ZYg3I6D8xNkqA ZTRg== X-Gm-Message-State: AOAM530Nnnc4lmhxLLG6r/becYNLOkj3OGdKJl8nVgoaMFWV8Yzb0Q9c XIY4rEUX5pECk26KBVWgZVkr3A== X-Received: by 2002:a62:2c51:0:b029:329:932b:9484 with SMTP id s78-20020a622c510000b0290329932b9484mr1975282pfs.13.1632777438957; Mon, 27 Sep 2021 14:17:18 -0700 (PDT) Received: from [10.50.24.214] (wsip-184-181-13-226.ph.ph.cox.net. [184.181.13.226]) by smtp.gmail.com with ESMTPSA id d18sm20267747pgk.24.2021.09.27.14.17.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 27 Sep 2021 14:17:18 -0700 (PDT) Subject: Re: [PATCH] fs: eventpoll: add empty event To: Eric Dumazet Cc: LKML , "David S. Miller" , Jakub Kicinski , Hideaki YOSHIFUJI , David Ahern , Paolo Abeni , Florian Westphal , Alexander Aring , Tonghao Zhang , Yangbo Lu , Thomas Gleixner , netdev , Willem de Bruijn References: <20210927202923.7360-1-jlundberg@llnw.com> From: Johannes Lundberg Message-ID: Date: Mon, 27 Sep 2021 14:17:16 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 9/27/21 1:47 PM, Eric Dumazet wrote: > On Mon, Sep 27, 2021 at 1:30 PM Johannes Lundberg wrote: >> The EPOLLEMPTY event will trigger when the TCP write buffer becomes >> empty, i.e., when all outgoing data have been ACKed. >> >> The need for this functionality comes from a business requirement >> of measuring with higher precision how much time is spent >> transmitting data to a client. For reference, similar functionality >> was previously added to FreeBSD as the kqueue event EVFILT_EMPTY. > > Adding yet another indirect call [1] in TCP fast path, for something > (measuring with higher precision..) > which is already implemented differently in TCP stack [2] is not desirable. > > Our timestamping infrastructure should be ported to FreeBSD instead :) > > [1] CONFIG_RETPOLINE=y > > [2] Refs : > commit e1c8a607b28190cd09a271508aa3025d3c2f312e > net-timestamp: ACK timestamp for bytestreams > tools/testing/selftests/net/txtimestamp.c Hi Eric Thanks for the feedback! If there's a way to achieve the same thing with current Linux I'm all for it. I'll look into how to use timestamps for this.