From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753647AbcEWMzF (ORCPT ); Mon, 23 May 2016 08:55:05 -0400 Received: from mail-am1on0126.outbound.protection.outlook.com ([157.56.112.126]:53600 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753523AbcEWMzD (ORCPT ); Mon, 23 May 2016 08:55:03 -0400 Authentication-Results: linux-foundation.org; dkim=none (message not signed) header.d=none;linux-foundation.org; dmarc=none action=none header.from=virtuozzo.com; From: Vladimir Davydov To: Andrew Morton CC: "David S. Miller" , Johannes Weiner , Michal Hocko , , Subject: [PATCH 8/8] af_unix: charge buffers to kmemcg Date: Mon, 23 May 2016 13:20:29 +0300 Message-ID: X-Mailer: git-send-email 2.1.4 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: DB5PR06CA0038.eurprd06.prod.outlook.com (2a01:111:e400:52c2::48) To AM3PR08MB0579.eurprd08.prod.outlook.com (2a01:111:e400:c408::13) X-MS-Office365-Filtering-Correlation-Id: 13ce400e-9b4f-4e71-bf07-08d382f3e7b4 X-Microsoft-Exchange-Diagnostics: 1;AM3PR08MB0579;2:oFB2RuA1uavKFPxcEOn4nVcVX0OBniG9tKyDS4PRCInTZilpzPfH6B2p62pAHzTQ8UGgYu226ruvcO7aDQv5A+iiuIb4s06NmfDEuJXjk9Cgy34lGlKabiCIq4HG4sn8QG4TKLLEkg0Utlp7CrSof81AUpahQ/r3gQdmGMt/dv9nKQh0/gbA6aq6lSgG8cQt;3:0rLV1l+2y+IoCFXz6HQxTyQtlcqwj6J9oVsi0Jzxpn7sCGHieZy8fEcA8z73zf3+G/p6r8+AnGzqWsOdjGOMdk0FfMLwIumeQ08xPQQ258aDUFzXu20sQK4MDOdDefXM X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM3PR08MB0579; X-Microsoft-Exchange-Diagnostics: 1;AM3PR08MB0579;25:m9rDP5qyeVl/bOZRQDDVcTmP5PXkUJVuXhUULYqJUBn+z3kQzbol/mkDvtMrINrVHlLeB9acdagqryojv1/0njHgrFcUTE6H9zOf4WY3TsfZSa24BEGz+bJlen7EKMYj8iPs223K/yKyM0mMRqpCO862utLBIiyCliwEhl15kDeKVNgjPPZIhHEv5MTxz4FykwPLg8Rc/1lmb+Mcdx4u7SkEczFGFAZT/Cd5ellQTfzO9ecdsvMFV9mD/1hB0JMKOulPfeeOj+chgNhxfZya1p8QcD/8Ynffug14GfcQ21sGA5FFSnkWkgRVTAC9qozU+bkLrHj1CTwM0xTc4WSHaO3Q0kUZ1d9R797YFBQpmThXSAwYCWT8FAGdBvTe0TH8+9Fdl69KVz/36xXQLCCTqbm2EXkfKozzTSW+AzkmQqJJFZ1dZRlo66WX5WLausNM1edeqwIrKwMWZnOWgJUjQBZHfexf5GA/lQYIXsEPpnmFKDPvAbePjqUeN0PXGVhs0AodwmZDCz7SqVX+FqpiVqSrhpb8nIrT4NlwkumJHKqrJjiSTeoO+X90IPB5zA2yOU0LVQh29W0VRzIU74bWVYYqeCYSUuldFhA7cs30f6079n/dgINYX/MNBprFlvhM+8BqgW4/Ck62eG1geypH96/Mc1xhS0yuZCE9TzzawTYskWdfFIJxIDJIhCfq1iTWdkP6TxzKjMqc+OuvSzn3tBFIpS+I3DwLDH7US1GI2po= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040130)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041072)(6043046);SRVR:AM3PR08MB0579;BCL:0;PCL:0;RULEID:;SRVR:AM3PR08MB0579; X-Microsoft-Exchange-Diagnostics: 1;AM3PR08MB0579;4:8sctN5s1OiAh41CV5frrXiuCLxARpp8AAgIuSSDjA2ZsheIQ7+ieDUCLH6HBNFmbrjye+iRvYCRVgm3lAde/fOaCzZmS87ZV++wSXgZzMqLKAkG5FX7+0j6QYuYdxCKwKifKRTOgKwdaxfXUSuAjK/B1cTeXp0LNUvYjCTQgJYtQmbBIT2UZiwN9d3zi19oAxbRhEenI4dezIiUFMKqUGVxM22Rp90VPPlIgspn//RQKm+5ElFbN3iSUYjW4XmTQPJimnVRSLD1eeOba8tiAx0uzu+1brT2sAsBY+Ux3MtHZ7cg7L2oM8rAll7ujRurVLFyAahMexVu7IhwMuqC2EDQ/1Zd5mYcIfKJ3OAz9ZmV8DAZHSyjffguJR9EaRofpLJlAnESnh1bMGDvJpYneXjcbbZlcQP3cwXG2ZwFB4P0= X-Forefront-PRVS: 0951AB0A30 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6116002)(3846002)(19580405001)(8676002)(19580395003)(586003)(80792005)(36756003)(42186005)(76176999)(92566002)(86362001)(50226002)(110136002)(189998001)(4326007)(2906002)(81166006)(5008740100001)(33646002)(66066001)(229853001)(2950100001)(47776003)(50986999)(118296001)(48376002)(5003940100001)(5004730100002)(50466002);DIR:OUT;SFP:1102;SCL:1;SRVR:AM3PR08MB0579;H:virtuozzo.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;AM3PR08MB0579;23:qkuY1Jp+993MUVA+/AhT/sIcRZUnRNovCjPOb1sGWt7XbGNoUuRqySxl249gZvQOD5Bh1UwanVsFmed9HhcZDZStP/AwThY7+E+dE6R/YrDzFFubnQaxG4rc6IaFcwnVQ2dsCCe03XQMLauPp7bR+Z8DXhP/48/9TbwbPKZPhmGBXj2aIxWTkh+RbdcJJRBdoyagoJesSbqggjwVdmZK7bPs0M0pZxnMFwOevPfH9yDRZptIWwkAa9iYVonuJWwJKdQwzArQQYS6e8/nIMnLw6xdwVMWMEQU8cVJu+jY/iLMgmK6SQXnNQ6ptxclSiGefwLhpbBfFuAFSSpKTLrNR9dgAVaSoSEL8qWbv9fpj2iA7sw3aMghfpH+9P61Yam3epRpRmlHMnToAKwV+g+wHvGflXiqIXDrxyqCGeMxLEUZIU4Qs2GK7SAxNXR1fSOmqYr6qtQg+boT2VkIYSj6pBqrNxlWMSUHDnEz91hMXwifo3BKGjqI7/0JwLXoD0y3W0CEHsm13W0Q4dvN6mr3pIYCYw+Fq2sBDrQz9VRtatEP4r9jokb+su8bZhdLtLzYf36R+21Hg2xcNVI9zTIjGUsBfINNMyGrbVA2wxQea8FUETk2Z0anBoaTzX+SUg6U+ZmeKKzOL3hCAlqxLw9FseiNNFXdx/Oyao6kc3Axq9XRZzYUm/seOl+feWpkZOvzwJ2lL4NOuqupu/7iHKHyJ9h2bSo2PbTOzcbP/ntCBoJ1sNR8uptWJIorP2/7JjXn3TERrdBaloP6HfNp4wiUigRqffTwpq2Y8mIKSAxJYeU5q5l109aOqn+G3VHeMKo7t25I9KsxluyrexITrEwu5naYpsiSfDf2qxsyY3l2fRQuRIX1/xPk0OfvAMR7aB07 X-Microsoft-Exchange-Diagnostics: 1;AM3PR08MB0579;5:4blKnYtoFPw8oas3UrkX8Fg0xURfl4OV8o//77ThI5xdQCcIxbCW0Wg/QFrFKAQXp31m1frMBKmsGk9M9JmZxZ3gr61aYHqOmgpz+wo89OByUC/+a5tGEFg/9x+ZmJaGM5K701qJAZHjgrfFKJIx5w==;24:YTtRdJOP6zUap8z/21HFhmnJsXzOIvthXIq+Bm0d41Rg+W9k7QLAnvgOftxZPyd/S/yalfKG0WzjBV3E3rAJhNdvf2bjX3w8x5yxCKG31QU=;7:3bV+hPAT5U8FhOBUkdifa/mqlb/eC1YeW1ZYuEKVh1OSBIS+2eZfhXq7WEwTACS/7l2AruViNuSCXHrgaz+CcQmsU6P0zmf6ha4wxbt5mKzmGXUBuQWaDKLgrX9XHfGF9TQqIe/j9XFdyOhMQ56SCiVDviRX0H62fx67WV0nb09hl7Nx0amtFiBGeytUZRBw;20:mxBDN7gBerNWGxwJYlnnIuQaCdO50C2v60M0N5yIdA12IhcL0HWK1pwQFxgEqi6Q5yZAY9R+lvk62kxgxYjU1mi0vGP38WAuGP4we0AjqijY/LxJ/Ah826TaO21ttie87UZokVfdF+zrOaMYpQT660/cgULVCwNLFozFQSY3VuA= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 May 2016 10:20:45.7136 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR08MB0579 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Unix sockets can consume a significant amount of system memory, hence they should be accounted to kmemcg. Since unix socket buffers are always allocated from process context, all we need to do to charge them to kmemcg is set __GFP_ACCOUNT in sock->sk_allocation mask. Signed-off-by: Vladimir Davydov Cc: "David S. Miller" --- net/unix/af_unix.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 80aa6a3e6817..022bdd3ab7d9 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -769,6 +769,7 @@ static struct sock *unix_create1(struct net *net, struct socket *sock, int kern) lockdep_set_class(&sk->sk_receive_queue.lock, &af_unix_sk_receive_queue_lock_key); + sk->sk_allocation = GFP_KERNEL_ACCOUNT; sk->sk_write_space = unix_write_space; sk->sk_max_ack_backlog = net->unx.sysctl_max_dgram_qlen; sk->sk_destruct = unix_sock_destructor; -- 2.1.4