Re: [PATCH net-next 0/5] net: implement the QUIC protocol in linux kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Sep 13, 2024 at 9:05 PM Cong Wang <xiyou.wangcong@xxxxxxxxx> wrote:
>
> On Mon, Sep 09, 2024 at 10:30:15PM -0400, Xin Long wrote:
> > 4. Performance testing via iperf
> >
> >   The performance testing was conducted using iperf [5] over a 100G
> >   physical NIC, evaluating various packet sizes and MTUs:
> >
> >   - QUIC vs. kTLS:
> >
> >     UNIT        size:1024      size:4096      size:16384     size:65536
> >     Gbits/sec   QUIC | kTLS    QUIC | kTLS    QUIC | kTLS    QUIC | kTLS
> >     ────────────────────────────────────────────────────────────────────
> >     mtu:1500    1.67 | 2.16    3.04 | 5.04    3.49 | 7.84    3.83 | 7.95
> >     ────────────────────────────────────────────────────────────────────
> >     mtu:9000    2.17 | 2.41    5.47 | 6.19    6.45 | 8.66    7.48 | 8.90
> >
> >   - QUIC(disable_1rtt_encryption) vs. TCP:
> >
> >     UNIT        size:1024      size:4096      size:16384     size:65536
> >     Gbits/sec   QUIC | TCP     QUIC | TCP     QUIC | TCP     QUIC | TCP
> >     ────────────────────────────────────────────────────────────────────
> >     mtu:1500    2.17 | 2.49    3.59 | 8.36    6.09 | 15.1    6.92 | 16.2
> >     ────────────────────────────────────────────────────────────────────
> >     mtu:9000    2.47 | 2.54    7.66 | 7.97    14.7 | 20.3    19.1 | 31.3
> >
> >
> >   The performance gap between QUIC and kTLS may be attributed to:
> >
> >   - The absence of Generic Segmentation Offload (GSO) for QUIC.
> >   - An additional data copy on the transmission (TX) path.
> >   - Extra encryption required for header protection in QUIC.
> >   - A longer header length for the stream data in QUIC.
> >
>
> This is not appealing.
>
> However, I can offer you one more possible advantage of in-kernel QUIC.
> You can think about adding iouring support for QUIC socket, because that
> could possibly chain the socket fastpath operations together which opens
> the door for more optimization.
>
I haven't had the chance to try io_uring. From what I understand, it
doesn’t require any changes to the protocol stack (Linux QUIC doesn’t
support MSG_ZEROCOPY at this time).

Thanks for offering this suggestion, it sounds worth exploring when
using the QUIC socket in the future.

Thanks.




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux