From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: [RFC 0/2] Delayed binding of UDP sockets for Quic per-connection sockets Date: Wed, 31 Oct 2018 22:17:24 -0700 Message-ID: References: <20181031232635.33750-1-cpaasch@apple.com> <0ce864f0-38b9-59cc-18ea-e071afca347d@gmail.com> <20181101035050.GO80792@MacBook-Pro-19.local> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, Ian Swett , Leif Hedstrom , Jana Iyengar To: Christoph Paasch Return-path: Received: from mail-pl1-f196.google.com ([209.85.214.196]:40038 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726396AbeKAOSu (ORCPT ); Thu, 1 Nov 2018 10:18:50 -0400 Received: by mail-pl1-f196.google.com with SMTP id b9-v6so8360285pls.7 for ; Wed, 31 Oct 2018 22:17:26 -0700 (PDT) In-Reply-To: Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 10/31/2018 10:08 PM, Eric Dumazet wrote: > Our plan is to use EDT model for UDP packets, so that we can > still use one (not connected) UDP socket per cpu/thread. > > We added in linux-4.20 the EDT model for TCP, and I intend to add the remaining part for sch_fq for 4.21. > > UDP can use an ancillary message (SCM_TXTIME) to attach to the skb (which can be a GSO btw) a tstamp, > and pacing will happen just fine. > List of EDT patches in reverse order if you want to take a look : 3f80e08f40cdb308589a49077c87632fa4508b21 tcp: add tcp_reset_xmit_timer() helper 4c16128b6271e70c8743178e90cccee147858503 net: loopback: clear skb->tstamp before netif_rx() 79861919b8896e14b8e5707242721f2312c57ae4 tcp: fix TCP_REPAIR xmit queue setup 825e1c523d5000f067a1614e4a66bb282a2d373c tcp: cdg: use tcp high resolution clock cache 864e5c090749448e879e86bec06ee396aa2c19c5 tcp: optimize tcp internal pacing 7baf33bdac37da65ddce3adf4daa8c7805802174 net_sched: sch_fq: no longer use skb_is_tcp_pure_ack() a7a2563064e963bc5e3f39f533974f2730c0ff56 tcp: mitigate scheduling jitter in EDT pacing model 76a9ebe811fb3d0605cb084f1ae6be5610541865 net: extend sk_pacing_rate to unsigned long 5f6188a8003d080e3753b8f14f4a5a2325ae1ff6 tcp: do not change tcp_wstamp_ns in tcp_mstamp_refresh fb420d5d91c1274d5966917725e71f27ed092a85 tcp/fq: move back to CLOCK_MONOTONIC 90caf67b01fabdd51b6cdeeb23b29bf73901df90 net_sched: sch_fq: remove dead code dealing with retransmits c092dd5f4a7f4e4dbbcc8cf2e50b516bf07e432f tcp: switch tcp_internal_pacing() to tcp_wstamp_ns ab408b6dc7449c0f791e9e5f8de72fa7428584f2 tcp: switch tcp and sch_fq to new earliest departure time model fd2bca2aa7893586887b2370e90e85bd0abc805e tcp: switch internal pacing timer to CLOCK_TAI d3edd06ea8ea9e03de6567fda80b8be57e21a537 tcp: provide earliest departure time in skb->tstamp 9799ccb0e984a5c1311b22a212e7ff96e8b736de tcp: add tcp_wstamp_ns socket field 142537e419234c396890a22806b8644dce21b132 net_sched: sch_fq: switch to CLOCK_TAI 2fd66ffba50716fc5ab481c48db643af3bda2276 tcp: introduce tcp_skb_timestamp_us() helper 72b0094f918294e6cb8cf5c3b4520d928fbb1a57 tcp: switch tcp_clock_ns() to CLOCK_TAI base