From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BBC9CC43381 for ; Sun, 31 Mar 2019 08:53:57 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 804082146F for ; Sun, 31 Mar 2019 08:53:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="qslGLjTa" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726750AbfCaIx4 (ORCPT ); Sun, 31 Mar 2019 04:53:56 -0400 Received: from mail-pg1-f193.google.com ([209.85.215.193]:41020 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725888AbfCaIx4 (ORCPT ); Sun, 31 Mar 2019 04:53:56 -0400 Received: by mail-pg1-f193.google.com with SMTP id f6so3227600pgs.8; Sun, 31 Mar 2019 01:53:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=cc3+S8jAZSptGid3N/SQUn3a3lOy/q0Jm/mj0eS8TKs=; b=qslGLjTanaHwXVsm/EHfAIpd+rLh2hQwX5XVpsULXAezOyeM46QUj9GJk36az1RaIf UcY20brM5hBMPKZApveLBDBG3vZEcbzB4hASpTWZ0fPyGmurAAwQ+8dD2Ofm8VC+Ukuk s7RbNRhTz7oN6/BYOjVz46q7q1O4XHCRiibslQfNeMQ86MR4FeeYhr8eVUmXCIV0owzi YVyTfV6IRiZcgRTNKMx6x/psdhpSs4JSZxRChYz3y3J/haaHqXwxfPIVCzsvYFbGBr63 93teQtd2gSe04rLqYy0+j6NFGdFp58tfWR4E+8jwkeElIujRHQoV8sjV0sYfb04j0Rzm A54g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=cc3+S8jAZSptGid3N/SQUn3a3lOy/q0Jm/mj0eS8TKs=; b=agZBnkosNMANGV2gg1nnvBFADt056nAuvDqTnbjrCraCPK1LmaQPp8LCzSB3RZOvBj lTNjDzHBpMISV2knLxPZwvWLHSbuhE8KipO+J0JonDxglIbMwa27aH9OFv2MrsWPdniK RR2hyXqLKd0ffrrWpxos129DMluwaWAkuTaTpZQtK1DpUW+nsV/9VwKsn9aaHHZ/FUwn jQGfjc9a6BAFJtvNlNIWq42Tlpg5lb/aHtNL66mS9Jsi9FZZNK3sjrgPkDPIvK9Xdnj3 +9nbn2+tdmbdcJ7XsvlPQ1a7ANJ10BsQpu/7WCHOZKpLzzIDc3Bnow0mOXVaN/LmsilI w3eA== X-Gm-Message-State: APjAAAWvuBLZk7B13BFX5QAtsFt9NfJV2uHCYPos4aT3sbYm5RTi6PAH yNRs0qRXix/3LusvRS3Fav8AFZsj1k0= X-Google-Smtp-Source: APXvYqzPdsjmXphpc9IFJKNXterIJHsN9YlIrCJZTip2FjLsaTQYzu26mUpa44KS42ATxHEzEF97Uw== X-Received: by 2002:a63:2141:: with SMTP id s1mr55038259pgm.430.1554022435456; Sun, 31 Mar 2019 01:53:55 -0700 (PDT) Received: from localhost ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id j20sm8503290pff.22.2019.03.31.01.53.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 31 Mar 2019 01:53:54 -0700 (PDT) From: Xin Long To: network dev , linux-sctp@vger.kernel.org Cc: Marcelo Ricardo Leitner , Neil Horman , davem@davemloft.net, Matteo Croce , Vladis Dronov Subject: [PATCH net-next 0/2] sctp: fully support memory accounting Date: Sun, 31 Mar 2019 16:53:45 +0800 Message-Id: X-Mailer: git-send-email 2.1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org sctp memory accounting is added in this patchset by using these kernel APIs on send side: - sk_mem_charge() - sk_mem_uncharge() - sk_wmem_schedule() - sk_under_memory_pressure() - sk_mem_reclaim() and these on receive side: - sk_mem_charge() - sk_mem_uncharge() - sk_rmem_schedule() - sk_under_memory_pressure() - sk_mem_reclaim() With sctp memory accounting, we can limit the memory allocation by either sysctl: # sysctl -w net.sctp.sctp_mem="10 20 50" or cgroup: # echo $((8<<14)) > \ /sys/fs/cgroup/memory/sctp_mem/memory.kmem.tcp.limit_in_bytes When the socket is under memory pressure, the send side will block and wait, while the receive side will renege or drop. Xin Long (2): sctp: implement memory accounting on tx path sctp: implement memory accounting on rx path include/net/sctp/sctp.h | 2 +- net/sctp/sm_statefuns.c | 6 ++++-- net/sctp/socket.c | 10 ++++++++-- net/sctp/ulpevent.c | 19 ++++++++----------- net/sctp/ulpqueue.c | 3 ++- 5 files changed, 23 insertions(+), 17 deletions(-) -- 2.1.0