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=-23.3 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_IN_DEF_DKIM_WL 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 7C68FC433F5 for ; Thu, 23 Sep 2021 15:47:30 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id ED4C66008E for ; Thu, 23 Sep 2021 15:47:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org ED4C66008E Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 64B7F900003; Thu, 23 Sep 2021 11:47:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5FBC1900002; Thu, 23 Sep 2021 11:47:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4E9D0900003; Thu, 23 Sep 2021 11:47:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0236.hostedemail.com [216.40.44.236]) by kanga.kvack.org (Postfix) with ESMTP id 3EDF7900002 for ; Thu, 23 Sep 2021 11:47:29 -0400 (EDT) Received: from smtpin30.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id EC5F53017D for ; Thu, 23 Sep 2021 15:47:28 +0000 (UTC) X-FDA: 78619267776.30.616962B Received: from mail-qt1-f176.google.com (mail-qt1-f176.google.com [209.85.160.176]) by imf28.hostedemail.com (Postfix) with ESMTP id 9B19A90000A9 for ; Thu, 23 Sep 2021 15:47:28 +0000 (UTC) Received: by mail-qt1-f176.google.com with SMTP id a13so6568013qtw.10 for ; Thu, 23 Sep 2021 08:47:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=mQ7J4946rPgf21nD+uOWBbdKEn3T7TjKfOLDKhMFyj8=; b=mTZSIMO+GVE3tAo3UxQ/EEydBd45P0gIJQPxkrgTq8B0UZCXkEnrSWUJW6upsdbj4b Q+S46nBbvfjWhrTOs9o+HrBmHAMZFTUytwznDahlXAoqa6qg2MP6vaNyZOuChN1SRFzu Un9VKdQg/TUxiTBWNI0FymudM9q9M79nvZMV18kDxdGSmdlbfEsK04lmbBG3KPQbo3kc erEjMADzPxqjpSJ+2+q9x2dp/eJSDp1B5NrA4Px5JDxD81H+BhV6mFTLHWxar5Xm6nVt ZeIvmSvzBEvV2nEiQKYQ0J1EFw3GxobotbcFK7had7vcG47cyKj4Ykd6r9gH51AEzJqp Oz/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=mQ7J4946rPgf21nD+uOWBbdKEn3T7TjKfOLDKhMFyj8=; b=H6ckU1I31nW7lr4W7srARmUraLiaQthjk52CyqET0TWXZjugmOyuJrGuquUojE52O3 wpfzr4GmsiCjzid3beF2NDhPaZTaoS7chShUhVZxwrfC7GeR3jsIMl6VAlA5UFgervBU n7cFY+b9z0cHKTbiacxX4OsHeQ2an1w07Nik/ur4IrSABdyYjY3XyiuslhKRKaKubD2o x5BW5HBlVeSLOlGDmC+9vRd59GBHbeIm5s4L0/ePpwJxarAjHGM1Flx33LDnKt5t7WI6 WGnYi+tNsYsoO+PJyISs6wRxjRTiNKuwo1hnsZkDXWP7co3sRvVJKuTWNAC6vfvZi++3 csJw== X-Gm-Message-State: AOAM530X2eFsBhwCYYbbk/BRu+ERwMIyARRud4h2UDyJOSagpPSyjOvs DZq/Svt9p3ZU6y/K+aEf+RcNBZ1eFpyXlJXVAANCcA== X-Google-Smtp-Source: ABdhPJynQcc8u1IiKdCTBGHiJLmmRjkYQQEfqx/2tsoY0Jci+rVn4TQHwv5aVEvzq1R0nrpz3rCLNrw8sxXrHl0Z4Ik= X-Received: by 2002:ac8:7482:: with SMTP id v2mr5389401qtq.235.1632412047701; Thu, 23 Sep 2021 08:47:27 -0700 (PDT) MIME-Version: 1.0 References: <20210923104803.2620285-1-elver@google.com> <20210923104803.2620285-5-elver@google.com> In-Reply-To: <20210923104803.2620285-5-elver@google.com> From: Alexander Potapenko Date: Thu, 23 Sep 2021 17:46:51 +0200 Message-ID: Subject: Re: [PATCH v3 5/5] kfence: add note to documentation about skipping covered allocations To: Marco Elver Cc: Andrew Morton , Dmitry Vyukov , Jann Horn , Aleksandr Nogikh , Taras Madan , LKML , Linux Memory Management List , kasan-dev Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 9B19A90000A9 X-Stat-Signature: ir1cta984y8djacbia7qj96dgfmcren6 Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=mTZSIMO+; spf=pass (imf28.hostedemail.com: domain of glider@google.com designates 209.85.160.176 as permitted sender) smtp.mailfrom=glider@google.com; dmarc=pass (policy=reject) header.from=google.com X-Rspamd-Server: rspam06 X-HE-Tag: 1632412048-140138 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: On Thu, Sep 23, 2021 at 12:48 PM Marco Elver wrote: > > Add a note briefly mentioning the new policy about "skipping currently > covered allocations if pool close to full." Since this has a notable > impact on KFENCE's bug-detection ability on systems with large uptimes, > it is worth pointing out the feature. > > Signed-off-by: Marco Elver > Reviewed-by: Dmitry Vyukov Acked-by: Alexander Potapenko > --- > v2: > * Rewrite. > --- > Documentation/dev-tools/kfence.rst | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/Documentation/dev-tools/kfence.rst b/Documentation/dev-tools= /kfence.rst > index 0fbe3308bf37..d45f952986ae 100644 > --- a/Documentation/dev-tools/kfence.rst > +++ b/Documentation/dev-tools/kfence.rst > @@ -269,6 +269,17 @@ tail of KFENCE's freelist, so that the least recentl= y freed objects are reused > first, and the chances of detecting use-after-frees of recently freed ob= jects > is increased. > > +If pool utilization reaches 75% (default) or above, to reduce the risk o= f the > +pool eventually being fully occupied by allocated objects yet ensure div= erse > +coverage of allocations, KFENCE limits currently covered allocations of = the > +same source from further filling up the pool. The "source" of an allocat= ion is > +based on its partial allocation stack trace. A side-effect is that this = also > +limits frequent long-lived allocations (e.g. pagecache) of the same sour= ce > +filling up the pool permanently, which is the most common risk for the p= ool > +becoming full and the sampled allocation rate dropping to zero. The thre= shold > +at which to start limiting currently covered allocations can be configur= ed via > +the boot parameter ``kfence.skip_covered_thresh`` (pool usage%). > + > Interface > --------- > > -- > 2.33.0.464.g1972c5931b-goog > --=20 Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Stra=C3=9Fe, 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Halimah DeLaine Prado Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg