From patchwork Wed May 8 00:38:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qian Cai X-Patchwork-Id: 10934023 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EFDAE1515 for ; Wed, 8 May 2019 00:39:07 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DF5EF286EC for ; Wed, 8 May 2019 00:39:07 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D30A92873B; Wed, 8 May 2019 00:39:07 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 52421286EC for ; Wed, 8 May 2019 00:39:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4FD526B0003; Tue, 7 May 2019 20:39:06 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 4AE126B0005; Tue, 7 May 2019 20:39:06 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 39BFC6B0006; Tue, 7 May 2019 20:39:06 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by kanga.kvack.org (Postfix) with ESMTP id 1C6696B0003 for ; Tue, 7 May 2019 20:39:06 -0400 (EDT) Received: by mail-qt1-f197.google.com with SMTP id n39so21393418qtn.0 for ; Tue, 07 May 2019 17:39:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:mime-version:content-transfer-encoding; bh=v9eQGAXN/pUrwyhsEw4eGQ0SnWi81FsI3CN7zGHdMUY=; b=BDW7wnRPURWyTV7HoSoRLTU63dIhtau9WyDpzXUdj13s83/JLNo0AGXfL1EFTOL2Sv brKhRrlnpfctiAlYv2nh2/CcKjnR1ptR/lrZkXkT4pwzKQQA+TC6dgdDjXNgUcbqsayp W0a1EB6iP9nkFVJCaCzyM5Bc5wtWgPWG6ZvrTRJf37/wozAh+bbZxdD91f1BCmk5HMgV XOJRStJt3yN1gE4u/UPDG0doT3FR09XR/TL9rjeW9wwltA0f4u1aZSoZzGVcElwHAHeW B7JZcTKtr0iseMdxXEUjp0o0sJFSbRTmk8+LWf4fanGBI+2ekBnG5KoqeDRhVn959tOZ uTsQ== X-Gm-Message-State: APjAAAUc3b/+NfxkLsIydi6ujb7fBhwneMWpC2Q+9mwqb97jCQX+9kFs nOPSwwUIudhP5NSXCz86flIMzOM5u2Cts49xdDZM9f5hsR21jBV/fyl5CVr5wPC7LHUGZO4d+RC 8OfKstMKR7Hyz75jmgX30+815PCoDu3wAQll2boJSScfqnblEo0O57YizgIFNV/xFwg== X-Received: by 2002:a37:49ce:: with SMTP id w197mr26064382qka.330.1557275945795; Tue, 07 May 2019 17:39:05 -0700 (PDT) X-Received: by 2002:a37:49ce:: with SMTP id w197mr26064356qka.330.1557275945154; Tue, 07 May 2019 17:39:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557275945; cv=none; d=google.com; s=arc-20160816; b=rGKWkzYsLC35uN5XHQlpt1EpkfEKd+zreiJEnmuWp3+pxx8JrbzN3LA+oBA0/NQK/Q awWfAebloKhags7///OqcjRoGgnHcdgRiWCl0cpaYowF2nvi40UjPkNDnoQuU2TkMp2U VoztzlBilGdOOXrN/+KnJkwoXGo+78pxLngyB4zg64N5YHBoPwsKp5RoQYuoRQs26pJ8 IS0clDEFZK2MxG/lPPxZ1t5GxZpJKhH84hm7zoLmgObbxVVCe6MET2GxJWWkj45GYcmF 4q1fHZ33qBRP19q92Jxc2FByVr3gPSKapaOi+gaH7dkWd15mEvwblTKEsZyXo6CNdrns 0Qag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=v9eQGAXN/pUrwyhsEw4eGQ0SnWi81FsI3CN7zGHdMUY=; b=L6KOd6j5qF2EhvJWWuNnp4TkeYTzPq+S8A73x3DgbOoj+P+BcGwAFwnjYztSxEbPVT n8+8uecGjAhh0fH8TrjFUB7FCFAZJrRzkhEe9/FbpeI77eK/KVKTDzduGrf+vAaHLY2Z nwlS/A476EVLCqg/UaY068KBk7lL3J/oYqKcZkp2j5xX97BzFc1Q0dOXzf7hzyG34CUO a6YIdmaHRMlfGE4iv6FDUxfU11EF1Z3726AJiY1gAQfNSLYU16Q/fukSMutwPfL5VI9N NT4S4Cw5SHtTxbRKM7tB6CjfohFstuo1AymkEfEyS1pScV+PeTW7kPFSM97wzmitG8+p c41Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lca.pw header.s=google header.b=P9wByt6X; spf=pass (google.com: domain of cai@lca.pw designates 209.85.220.65 as permitted sender) smtp.mailfrom=cai@lca.pw Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id n185sor8619898qkc.21.2019.05.07.17.39.05 for (Google Transport Security); Tue, 07 May 2019 17:39:05 -0700 (PDT) Received-SPF: pass (google.com: domain of cai@lca.pw designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@lca.pw header.s=google header.b=P9wByt6X; spf=pass (google.com: domain of cai@lca.pw designates 209.85.220.65 as permitted sender) smtp.mailfrom=cai@lca.pw DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lca.pw; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=v9eQGAXN/pUrwyhsEw4eGQ0SnWi81FsI3CN7zGHdMUY=; b=P9wByt6X7/7EYnOVIL+L4niq5xhOsA7fNdy5JhqzkC2EDOnh6kD8+oRsJPsdP6yTAn hLOOu+3ZGncE0jEbvAgByRNnn70mDcYt296iT4kYbIIRgE08hQwnom7YGmfQFAlW7PuJ AVzyFOjo2yMMctzMlPy4UQ2Fmb9VpcnsvuYK+LZq8s+L4PYPPbPbnkUHyECTP0kIK0dp QEKXyP6+DptIl+Lf3PfBMTTdDKxsia6+spQ8TnQAz+BbJ3V3To/mQEbKLRPX/n61dog3 aLGMxm+ZD71/nRb/gNTB/S1yrclRU6Q4FfuaDiG8F82F17ceo/iPfDSsqiOwQ5uC/C6P iKNA== X-Google-Smtp-Source: APXvYqx3wh7S/VSM6RE3kBIPQ5Eso3w/I/f0YhknfHS271wzjV4Ff5Ktu4I1WFAP3qSFDXkbyyk1vw== X-Received: by 2002:ae9:d844:: with SMTP id u65mr25749828qkf.310.1557275944782; Tue, 07 May 2019 17:39:04 -0700 (PDT) Received: from ovpn-121-162.rdu2.redhat.com (pool-71-184-117-43.bstnma.fios.verizon.net. [71.184.117.43]) by smtp.gmail.com with ESMTPSA id o37sm8153984qte.55.2019.05.07.17.39.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 07 May 2019 17:39:03 -0700 (PDT) From: Qian Cai To: akpm@linux-foundation.org Cc: cl@linux.com, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, catalin.marinas@arm.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Qian Cai Subject: [PATCH] slab: skip kmemleak_object in leaks_show() Date: Tue, 7 May 2019 20:38:38 -0400 Message-Id: <20190508003838.62264-1-cai@lca.pw> X-Mailer: git-send-email 2.20.1 (Apple Git-117) MIME-Version: 1.0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP Running tests on a debug kernel will usually generate a large number of kmemleak objects. # grep kmemleak /proc/slabinfo kmemleak_object 2243606 3436210 ... As the result, reading /proc/slab_allocators could easily loop forever while processing the kmemleak_object cache and any additional freeing or allocating objects will trigger a reprocessing. To make a situation worse, soft-lockups could easily happen in this sitatuion which will call printk() to allocate more kmemleak objects to guarantee a livelock. Since kmemleak_object has a single call site (create_object()), there isn't much new information compared with slabinfo. Just skip it. Signed-off-by: Qian Cai --- mm/slab.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mm/slab.c b/mm/slab.c index 20f318f4f56e..85d1d223f879 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -4285,6 +4285,15 @@ static int leaks_show(struct seq_file *m, void *p) if (!(cachep->flags & SLAB_RED_ZONE)) return 0; + /* + * /proc/slabinfo has the same information, so skip kmemleak here due to + * a high volume and its RCU free could make cachep->store_user_clean + * dirty all the time. + */ + if (IS_ENABLED(CONFIG_DEBUG_KMEMLEAK) && + !strcmp("kmemleak_object", cachep->name)) + return 0; + /* * Set store_user_clean and start to grab stored user information * for all objects on this cache. If some alloc/free requests comes