How to avoid kernel's receive buff full , then UDP packet dropped by kernel?

Jiuhai Zhang <jiuhai.zhang@gmail.com> Fri, 29 November 2019 12:53 UTC

Return-Path: <jiuhai.zhang@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AA6D4120273 for <quic@ietfa.amsl.com>; Fri, 29 Nov 2019 04:53:11 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1OBj9I5ybjTp for <quic@ietfa.amsl.com>; Fri, 29 Nov 2019 04:53:10 -0800 (PST)
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5807112008B for <quic@ietf.org>; Fri, 29 Nov 2019 04:53:10 -0800 (PST)
Received: by mail-lj1-x233.google.com with SMTP id k15so31932546lja.3 for <quic@ietf.org>; Fri, 29 Nov 2019 04:53:10 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=rzcGicWORjqyxQfJw3nR43gRavPXYaMCk+zDFYoPc5g=; b=s/ncfxSq5Cjc2BiduLfy7kyJa3+TE1o3bibIDSkcMFcCsmLpbrHf8vl/nXEBq9MEip FlCYtN9Xrzh5MGvBvinGX0THQA+W0r9YBQl25022W8MHh26gDW9pIiIXu09xgnWLDdpz o9y/GYRxZBFmDcgujovN3CaNrwdYv5hzf9Uk42y45eIGck82CqyBjva9CLLiwcAoD9jv HBSwAMBseCmXTqeQIs2nobMN7GTlgBkknKullP9eVgina4fx0ndvzYD0OHe+6dBh7miE lJ+etTXXtv8UtxxcQAqsiWuf52Mm+u6VAYcV3ldEMxzQR7aLRbyjGwYv08/OmVcROAD0 Ot9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=rzcGicWORjqyxQfJw3nR43gRavPXYaMCk+zDFYoPc5g=; b=mpmUVqSKuRSnZEOkIu+0da7PBGRu9sIbaDj1iV8w1wNQSLi3dQTe66r8519mWnMo08 uiK1o6xxt06oEogntWb0FHzMxVA3yX59Gv9uj6ifAL/dP+LHks2DnVn5zj1+5rdmSbaj iRdXGbnzdDOWIOld7OitE01RN9ph6rhZOqI7IcTOM63AfTN3nHdAPC1W47U7xjH7RPNm 3xFI2f4d7Mp6473lbKJOxuQl4K0MX+bP308JVE8zKeKEniV+jrkNjqWLcNTcWJ1twtgg qHT9jM3Gg5zgvH1sigJ/txA982itKFVOCMtQxqMvBSJKlJ+odmYjTZ4Aw5dXmSxT/g4U v1RQ==
X-Gm-Message-State: APjAAAWFmEKxOJYkQGgptlMhKq/+EeDZe8v39W3xEZbx+KGylSpQlm1M 5+C1/lZhRrYHCIhShR0zAmQZpNH6B6YVEHOEXJc5+g==
X-Google-Smtp-Source: APXvYqyXdA9chfRIW6k9xeOQKvQkNkGyxllZEuFKmdcSLIwCWqHkXymwRDWZLpa5/xrByNIwA2ztLZ4GJJbUsXVEpGg=
X-Received: by 2002:a2e:2c1a:: with SMTP id s26mr38245627ljs.239.1575031988436; Fri, 29 Nov 2019 04:53:08 -0800 (PST)
MIME-Version: 1.0
From: Jiuhai Zhang <jiuhai.zhang@gmail.com>
Date: Fri, 29 Nov 2019 20:52:57 +0800
Message-ID: <CAG9+TpZgm1zbW2Zq9oPCprmgUr-Rh29RTmGyEcVfE+T-i1WvaA@mail.gmail.com>
Subject: How to avoid kernel's receive buff full , then UDP packet dropped by kernel?
To: quic@ietf.org
Content-Type: multipart/alternative; boundary="0000000000002e43d505987bb62e"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/bviS7w86NeOF-Sr2uI67aSDJHiU>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 Nov 2019 12:53:12 -0000

Is there any good idea to solve this? How can we do flow control like TCP
receive window size? User space can not get how many receive buff is used