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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 264E0C25B74 for ; Sun, 2 Jun 2024 20:47:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 924156B00C1; Sun, 2 Jun 2024 16:47:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8D4CA6B00C2; Sun, 2 Jun 2024 16:47:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 79BF66B00C3; Sun, 2 Jun 2024 16:47:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 546236B00C1 for ; Sun, 2 Jun 2024 16:47:39 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 060771A0167 for ; Sun, 2 Jun 2024 20:47:39 +0000 (UTC) X-FDA: 82187134638.03.B8CE354 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by imf07.hostedemail.com (Postfix) with ESMTP id 2E45440009 for ; Sun, 2 Jun 2024 20:47:36 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=sequJNv1; spf=pass (imf07.hostedemail.com: domain of rientjes@google.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=rientjes@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717361257; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=faX60ecICkYxHjtv7PonXRM66RWfo/WBRMB+odShUo8=; b=jjrUhqXvWsX2UoG9n7ysoM3cJhLTUzeZ9SjPwSRVDiFJrLNSUmxf6lgdNq4S4uzxMDBFMo EcaLMi3DK6SAKVD+rJ7yFD7/3CUqMT+IUheNuxRzrOAVafL7i36GWSBuKZ4qYQQwrNiheB B55go5m/ci8DaaghH6b6XIaW0sC+jwo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717361257; a=rsa-sha256; cv=none; b=J4T+edujmPlrVpA/fdOlHbo32yrmYAdppPW4e2zlY1ZR8zTLHUyT6D0g9cYlw44CSIsZmb Hhxqn4iJ3LZExgTt7hDdLk+OMuwC1b89mmy19aZPrJDB8SlwXUntStMF2uocl4F/sjPbiP Ai0bG56hPYZYWghS2HGNwpHT/U3zJbs= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=sequJNv1; spf=pass (imf07.hostedemail.com: domain of rientjes@google.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=rientjes@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-1f61742a024so192545ad.0 for ; Sun, 02 Jun 2024 13:47:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1717361256; x=1717966056; darn=kvack.org; h=content-id:mime-version:references:message-id:in-reply-to:subject :cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=faX60ecICkYxHjtv7PonXRM66RWfo/WBRMB+odShUo8=; b=sequJNv1bOMsdyINt+AkAjUBd1TpYtbmz13jwpBbHehJ4afvDuHhx0Far+X5B7K/dD iZFgNgjkEWxiwRaoB/DjxEr+RwqrUdG1evSdHYsaOF68ikrnEoDsVo+MB+HCR8CB1q3a Fg2tZ7Yvj50exN0FzCd13/kLOEsWEF3efgk+ilsDuasFW0U4Q7760pagnt0LtCxClr6z HPiFvpMHhcjmMRuy9xmXPS1E6bcgGGQY3KfeK0avMQOsTs4TIhmOcBdso9e7Z04TDTkQ Vbyr6rTQ+dkIMWKJKPWNWHu1EXF0/wHK6BCz2pP0RlVjg1kPIz6tunp5VWXt073M5GHP Hl3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717361256; x=1717966056; h=content-id:mime-version:references:message-id:in-reply-to:subject :cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=faX60ecICkYxHjtv7PonXRM66RWfo/WBRMB+odShUo8=; b=wZaG0rHuLVAwSvyD7iS6wmCw2g4gSFf7PtG5JRDF+4gHZher2UKBIeRO6BpmL2/3BN fy/zxhR4uhD5dzVeOJZuqK0/p5ixZDxHCKefPFkOxV6jHULE+fJpCXp33ksE103oAlUN a7OTAtjEx2kFdDz7YoG6q6num9vxHUWWD/zbaaU7mOBRky6Ua8bTNBQwuNBlNfVuETVa orT30O/3ZLfc0XyGtxobUIyyRi4+J4mYaM8SmeVXNmFu+Y3TYI1x0i8YLdoyTz+pdLMB x2SAxdpMSeDymQL3NtvnHhP+O19PTvaAs8Q7eyuTK0+ZB7cuYn7M8lii9AO+491xKGcl ip3A== X-Forwarded-Encrypted: i=1; AJvYcCU1r0pKOpjBjj9njs1S48tgRdXv7T+zcCc3knWn9vo2uTednDYCIZg1QVKuWM/aqK6qbgBEPIpHGXn6d8FyTx4Tehs= X-Gm-Message-State: AOJu0YzIJR1myHmxmF5n2Dr+/OIDSM6p1kuIDmyInAjoMdscyEPIjGxI w9sL+oim4rpq7/swfWDqAWMK1/hnwlUJw3pEqsuHns+bF99qWd2Xcc2lVXz51g== X-Google-Smtp-Source: AGHT+IHAcKXBQFsPDQM4NMHbQr6pqvh0k2z/Yyd2cS2NVZFKE2pPvtyCt3fAEKic6duvJwDcVFm13g== X-Received: by 2002:a17:902:d2ca:b0:1f6:7fce:5684 with SMTP id d9443c01a7336-1f67fce5889mr178905ad.3.1717361255487; Sun, 02 Jun 2024 13:47:35 -0700 (PDT) Received: from [2620:0:1008:15:abfd:526b:c7dd:75a1] ([2620:0:1008:15:abfd:526b:c7dd:75a1]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1f6324032f9sm51317705ad.242.2024.06.02.13.47.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Jun 2024 13:47:34 -0700 (PDT) Date: Sun, 2 Jun 2024 13:47:34 -0700 (PDT) From: David Rientjes To: Vlastimil Babka cc: Akinobu Mita , Christoph Lameter , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , "Naveen N. Rao" , Anil S Keshavamurthy , "David S. Miller" , Masami Hiramatsu , Steven Rostedt , Mark Rutland , Jiri Olsa , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, linux-kernel@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org, linux-trace-kernel@vger.kernel.org Subject: Re: [PATCH RFC 0/4] static key support for error injection functions In-Reply-To: <20240531-fault-injection-statickeys-v1-0-a513fd0a9614@suse.cz> Message-ID: <71ebaa45-dbd0-b39d-4b33-88da3f497297@google.com> References: <20240531-fault-injection-statickeys-v1-0-a513fd0a9614@suse.cz> MIME-Version: 1.0 Content-Type: multipart/mixed; BOUNDARY="2003064516-301007669-1717361061=:1421375" Content-ID: <32fac6fa-e3d4-f025-6ec2-7b80eb8e0bc1@google.com> X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 2E45440009 X-Rspam-User: X-Stat-Signature: h49dx13biu4wpctczkcxnzraquxmtpae X-HE-Tag: 1717361256-88660 X-HE-Meta: U2FsdGVkX18/KSwmdv49X0NOzbVd/iut1Yiu5M+j+YkyYnxsUbyriA4NrUJWaOaTzxttqO6LMNWvik8oli8jASABNW2Zto98r5tNzpAqhxDACmN5gLfYPwGNjl7JO32y066pRlajLn2GuJ3RlR2GrfQEcrcs6eZ7goHz1uKBPYxUlHrTj9cyb1xy+W04kXUf4bW8Z5pGRamN+sm3FIWCAUpVKcU8y2QB8BMmnDC3ojWVRIqYU5XKS1nusRO3b8OfMhPYRi9bBcX12r9ajrcC0wh9ArWQwtq9xcxs8GgeK+tqfCmQvcNs7DIa2lL7LTdw1qGDOcVL3bsNIVA7DlzUz+ByceEZEUg7usKh9hjvlKpSvz+fVzk5Xu4rWwSJd3BV+d5tEZMmU6+PUstLuKagZHJhDnd9eC4mFWPCGYOFaHrU8tauINlU8tJWfdg2F8/TOxNKOgLAAwyyQhzipTcI23/lQYU6ahJvI1PUCk623XGBU3FN87FobYq+X24KDh3CM3v4xdiabPrNjs6glebVWca/8wz2hhvIuZnFQ9rPuYvHDdqQ86V1nqVonb+FXfkVUn/eUOOcOtzO4f2UsPAvNHlmQw3idi7e2e7KD3bU5VA5MQS3A+UY+J8HrSMtwF8Vw6LW8/Sxi9qL2gH57KpacvFvI5w0S4b1kfMIida4beUc1dDAMBWH0WtJc9zuH5tY5VdoSuk8LCkPdhA7KZD9NtGMo8KMLwSlBIBb7mRDImNquoHt5hBOGTt5kglEoj1gXs42Vnqbdmp/VWyXFGbuUcuy6XivF/wKt7eTguP12C20UVeOyreJzFhqJRPds7glKBQEZtwkzFQcUMVrmeDEBqDlGOGqteQ/LORcx60H/UUyuYW5GRE44j0Jj6V22Mo9JtjfLIeiLKTS8rEvoJHm9v2h5b5RNu0mooStBIvvLedbbDnmZzSRoPI3ahkz9opToI9wNq5JLoaz27U184M ax6CtzeO 7YeR4U8Kog+oubVKExy5YrpaQBGNJmQ0EReZAki4uG5MhcbxSXVsrIqZFli65NGWlOQdVCkO9VByFAjLD20+5uin4fJPdPaaBlMBz/EpGPAVqhyWCrnZci1eI4FRo/wR9JIbDVzjlg3dLBpCNZD7LBsNUIq9VHH6I8chli6qu3pbikxg2ab4VmGHsztCBAN3rjhoK7w3VR33nCV5S18k5K0scQcan/fGNPYqHoAIYSHlS0pGBwUHklcsczeB0BH06YRJq+uZoaBllFjYSm+K9PFw+oYxcsCOx213Qr0XCtyPDVAIcvMGBwzW9yFW2tyh4BkTFhV2VCz6Pp6T2toITtCc/I4zaH7f6m3c403x927ChuB7ykskM0c05e4BKB3LvYMswl0QPo4xiKhtlcJa+mAbN52j7ltt1vJ3vTGJCPT3ZW7YQyox+mXO6HOkrz8F13QLuO5pvKjZQPByJbOMG4yGuY5/E4HtV20KlQKEMOLzsU0nKH02eDUuJhxgPBpD6NB2K1bkztQbf3hxjNt12Ek2GZZ4Yl+dIfat6FuY9aO7e/qeF5YXv1vgaMeavW/zregQFmAjNGUHzWZiHBhKx040J79i6X32a4FBnZAVulPSBkNWd3oZ3gkbgXg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --2003064516-301007669-1717361061=:1421375 Content-Type: text/plain; CHARSET=UTF-8 Content-Transfer-Encoding: 8BIT Content-ID: <985832d3-71c9-2701-ec5d-29c3bfccabf1@google.com> On Fri, 31 May 2024, Vlastimil Babka wrote: > Patches 3 and 4 implement the static keys for the two mm fault injection > sites in slab and page allocators. For a quick demonstration I've run a > VM and the simple test from [1] that stresses the slab allocator and got > this time before the series: > > real 0m8.349s > user 0m0.694s > sys 0m7.648s > > with perf showing > > 0.61% nonexistent [kernel.kallsyms] [k] should_failslab.constprop.0 > 0.00% nonexistent [kernel.kallsyms] [k] should_fail_alloc_page ▒ > > And after the series > > real 0m7.924s > user 0m0.727s > sys 0m7.191s > > and the functions gone from perf report. > Impressive results that will no doubt be a win for kernels that enable these options. Both CONFIG_FAILSLAB and CONFIG_FAIL_PAGE_ALLOC go out of their way to have no overhead, both in performance and kernel text overhead, when the .config options are disabled. Do we have any insight into the distros or users that enable either of these options and are expecting optimal performance? I would have assumed that while CONFIG_FAULT_INJECTION may be enabled that any users who would care deeply about this would have disabled both of these debug options. > There might be other such fault injection callsites in hotpaths of other > subsystems but I didn't search for them at this point. > > [1] https://lore.kernel.org/all/6d5bb852-8703-4abf-a52b-90816bccbd7f@suse.cz/ > [2] https://lore.kernel.org/all/3j5d3p22ssv7xoaghzraa7crcfih3h2qqjlhmjppbp6f42pg2t@kg7qoicog5ye/ > > Signed-off-by: Vlastimil Babka > --- > Vlastimil Babka (4): > fault-inject: add support for static keys around fault injection sites > error-injection: support static keys around injectable functions > mm, slab: add static key for should_failslab() > mm, page_alloc: add static key for should_fail_alloc_page() > > include/asm-generic/error-injection.h | 13 ++++++++++- > include/asm-generic/vmlinux.lds.h | 2 +- > include/linux/error-injection.h | 9 +++++--- > include/linux/fault-inject.h | 7 +++++- > kernel/fail_function.c | 22 +++++++++++++++--- > lib/error-inject.c | 6 ++++- > lib/fault-inject.c | 43 ++++++++++++++++++++++++++++++++++- > mm/fail_page_alloc.c | 3 ++- > mm/failslab.c | 2 +- > mm/internal.h | 2 ++ > mm/page_alloc.c | 11 ++++++--- > mm/slab.h | 3 +++ > mm/slub.c | 10 +++++--- > 13 files changed, 114 insertions(+), 19 deletions(-) > --- > base-commit: 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0 > change-id: 20240530-fault-injection-statickeys-66b7222e91b7 > > Best regards, > -- > Vlastimil Babka > > --2003064516-301007669-1717361061=:1421375--