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 6A7C6C2BD09 for ; Thu, 27 Jun 2024 17:20:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D71596B00A8; Thu, 27 Jun 2024 13:20:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D20586B00AA; Thu, 27 Jun 2024 13:20:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BC0EF6B00AB; Thu, 27 Jun 2024 13:20:19 -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 9CD566B00A8 for ; Thu, 27 Jun 2024 13:20:19 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 33C3A80D6A for ; Thu, 27 Jun 2024 17:20:19 +0000 (UTC) X-FDA: 82277332158.19.E75C792 Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) by imf02.hostedemail.com (Postfix) with ESMTP id 446A28001B for ; Thu, 27 Jun 2024 17:20:16 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=imTEKEkZ; spf=pass (imf02.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.208.52 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719508808; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=GqlEDMHapqLffHeKiUQnC/6l2aCqeZ+JOD7CIqp8bOc=; b=HEvKib/cwYnFBE2alezqLoP4Je54gMvwp17KmfuQeICIxNMbqE68biB0hSvhyGhf8Zao9B P3sKWTuxVxYAa2JW5lkr8ECIq8Z6UxqBcJQKFEhRcokA39jzelBQbftw97zPAGhMYBK4uH +CA/2RoEKmhf+smXWL0eK+ph2n/qHgA= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=imTEKEkZ; spf=pass (imf02.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.208.52 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719508808; a=rsa-sha256; cv=none; b=VtY/AkTMzUSrzxlM0SKUHokZSTlN7kTk38ipUU/I0BYleWsPoVWxk6fIT0Rl5RNvQrdoJc njmwrng8W1QYvA9CqdGBKbVmn72rEO/BeXTjqIp1MkBTxhUwXS8x2V5CrbbRQ1bYCbiRBz RrtTjPz7L/BUc3XXM9/JjkUNjxHJ8jk= Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-57d106e69a2so373544a12.0 for ; Thu, 27 Jun 2024 10:20:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719508816; x=1720113616; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=GqlEDMHapqLffHeKiUQnC/6l2aCqeZ+JOD7CIqp8bOc=; b=imTEKEkZNCONTWkHdNvmOLXVOJRi3uvNG+xCXg8ViQnX4nNpmSziGthppZinNSLhCL iEXyFqmJduqpQj9Ue7+vGcnVXLaZWugZra4fa/NOWsXtJNCT6IUvn7es/QJbEAbCtNDl FTxSmCT7i2URsOxZuXCtjtFjzQGpZsMMOv1HJ9F5VZnbexfh8qD5oKmKweCwPxBoxZzt YkOZ7rKuiIG0Oxl6It+r5xSEavNcQCgnbRCdRCPgMqpSdo9u/7+PVCLmI2yzZluA9mGs ar37Ul+Fn7yp4NysIuMW3dwQnn47d4gmfLyrndv4FmLSPzShzqt1NKnuXTrfVUiMP/k+ sjxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719508816; x=1720113616; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GqlEDMHapqLffHeKiUQnC/6l2aCqeZ+JOD7CIqp8bOc=; b=TpbZAVMqZGVEZUfzxTe4664ER/4mQ1PJyvfiJ4jUolECQ6a5Eg7t4zAbaXMjNN8CQ2 PuuhgiQMnwcYIAQYwR/tFLrZ6Dju8wyAUVKGJCkWhiiLCWFt+4NqyZKEC5f09n5SM5vO SUcIpKUrP+3R/Ei9j5gBF5dopmtq5JvJ7xyz4WN9goufnACM6dQb2AWiNw6tCJbnGqvI k/hmQG1WUMtFDhCaEen6UF0yCl73zTdj03MzXmT7OVmMoAFra64uOF268uFP2qgy+Mrr lAek0HIecb4SlXrjMcQn20lXrQe2rsJN/4k8BOjQHOi+BdkayvWVpQfkZtdhnIRqbE4r 5NEg== X-Forwarded-Encrypted: i=1; AJvYcCU20Nln505HtRFT+V2ANEm6ivMLIAPPxElQC2BPF+YYs+kkxDMICAH57w/Lqf+ImaWwGddsRxQjmQYYqEQf4e2YdZo= X-Gm-Message-State: AOJu0YzDxS2c1dYHIWjrv/XngrlyUjlhph8cwr6vbagtZuIG+B8O5hgH JaPVQ0c3P2J+IjbX3aqZ9ACKrRbpwESNxgFMJMEP1JJUzGKw3FojAp76IrM9dLV3TxDqV27ZzlD +I0+sJIbMo5z2T9qBb6x+RFUIpag= X-Google-Smtp-Source: AGHT+IG4CWSu9QAjyTQd/bZVVvY2xjOLF/BaGGxQpg5/QJVsTWHeQe2x8nTRh1GZOTs0VBpdd56xBsibnHwZCgkG43I= X-Received: by 2002:a50:871d:0:b0:57d:46f:2cb9 with SMTP id 4fb4d7f45d1cf-5847bad65e5mr2813927a12.13.1719508815637; Thu, 27 Jun 2024 10:20:15 -0700 (PDT) MIME-Version: 1.0 References: <202406270912.633e6c61-oliver.sang@intel.com> In-Reply-To: From: Mateusz Guzik Date: Thu, 27 Jun 2024 19:20:03 +0200 Message-ID: Subject: Re: [linux-next:master] [lockref] d042dae6ad: unixbench.throughput -33.7% regression To: Linus Torvalds Cc: kernel test robot , oe-lkp@lists.linux.dev, lkp@intel.com, Linux Memory Management List , Christian Brauner , linux-kernel@vger.kernel.org, ying.huang@intel.com, feng.tang@intel.com, fengwei.yin@intel.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 446A28001B X-Stat-Signature: 3i4wahaydsm7yfgocftpsxs8jeop1od3 X-Rspam-User: X-HE-Tag: 1719508816-886176 X-HE-Meta: U2FsdGVkX1+AnG2T/iQVGoTlktcteLMYnandX/kvVU2HTmlKYMIAat5nRDaUhL1oKXxE8kiIM2FSSV39woA3kD+SjGh1sFrjkV3gcrYTEpqmgtv27FcyE9gkMgcqBpYgZjfPvia+pN5gbJAlN0ufjR0FhmoKJrQID/ETUfVfVnVcSsRunM9dD0jt/2tUuhZGxf0uEm/LhXP7C1E71vANCuae158RG5Piwsda/1AjoKjqpVZ+axPycgCuddIY27mG0SP+RW3Wg21zwCGf1EokjqFQ6842HCgybzCSMexaDMJRwk4Phk4R1Evlpstw5wBVSNDOLqwoyrFe73AhOR1wpx7/DuMPZ7YQGJqYJCFk6D92JHBftRkdccpePvvUeYfpYI937T2chmVPJwL9UH8RoxnEATvAFQvK0hC17dtwG/ZHwIUh2MM+YBewZANaUTc8+ZXqNZ5XuP6Wms3Vlpri/CFXcTvsLeemj+H2a8VJ8fLTQyrbErE3sUD+3z7gRiUA18tchCGIgUtZEV6Kkfc5UrkYoVMARSzis7J/Pc64zeqwwjzQZ9XWy8dbOifjfqDUQ8PQykJmhDSQjlarLFXIN5U6/FdQc3Eghib1ghQTdLlbfetQzRDlB60u4B4d0fTLrpyjV4bDfMn8yu8ooT1TFUGVML61BWiMpNzY1rQC2fHkvIu8FxH+PF0dUgXEU+/XbhxHG3Q4acyUcLh+HNZx0vU7/FhTVTEmxKyGnXoPr1d+BKPQagA7Aj1cudi9iU0/hkVPp/7IMSlazwBDQE20hMwDRjYvAkcMTBoN0vyeUoGMDPyNQqKEBRf3OC+2yfVK1IakBp9+SifXAHkiovmMpCtj+mfKqZEt+JBmuqZSubnqJLEFQIq6Z4MKyg+jKoo5uCEyIt7QTm8ShS1hcL5OZetZehZfNurS6bakBtUcczTkBioUjp5IKnOA+SjUYUC7OjvTv3PGHK55S34XsTp G7KTYD9k 70QrrgpeRq3pCrJROm+hEg5z5wc4Sq4mWy2GAghmTFTlmoJQl9LcZ3346RXaE+2zNcIw1iQKcLzBXapDHMEOGh5uPe7f0NKcGChj8KnEAgsMgw/3HllZGWF+rYKTVTKS56J9aRTjArJni3m9gLs1IYqMQ1G8ciJKP4nyxBmp9GiCW7nMCYbMRcwX8wKOYlwdN5ZV7CrcAdrNyOF2KMtmA635pOYlj/fTaS+bWbBWpiiXA90BKNDKhvGtWH5B6bAXrhGC4Jm605h8Z9CCApBon9TsJYY9ayYjKN2U4gY11GtQ91rbwrYMGMpxxcCleO5j9zhP4oYRCZxfALPWjOIRA4tNA3//mISrrsVem8xCeEHbHMEGcyzuRXj1/b9IjMIQzV6310g3YS42XN75Voau36sR4UQ== 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: List-Subscribe: List-Unsubscribe: On Thu, Jun 27, 2024 at 6:57=E2=80=AFPM Linus Torvalds wrote: > > On Thu, 27 Jun 2024 at 09:32, Linus Torvalds > wrote: > > > > getdent subtest: > > +4.1 lockref_put_return > > +5.7 lockref_get_not_dead > > +68.0 native_queued_spin_lock_slowpath > > For this getdents load, the main call chains that terminate in the > queued spinlock case seem to be > > .lockref_get_not_dead.__legitimize_path.try_to_unlazy_next.lookup_fast > .lockref_get_not_dead.__legitimize_path.try_to_unlazy.lookup_fast > .lockref_get_not_dead.__legitimize_path.try_to_unlazy.link_path_walk > .dput.terminate_walk.path_openat.do_filp_open > > which is interesting because I would have expected the readdir() code > itself to show up. > > But the proc_pident_readdir profiles have all gone down, presumably > because there's just much fewer of them. That part shows no spinlock > in the profile at all. > > WTH is that benchmark doing? The only readdir that shows up is for > what looks like some /proc filesystem thing. > [snip] [pid 24603] openat(AT_FDCWD, "/proc/146/task/146/ns", O_RDONLY|O_DIRECTORY)= =3D 8 [pid 24603] getdents(1048577, 0x561c7bb02b90, 131072) =3D -1 EBADF (Bad file descriptor) [pid 24603] getdents(8, 0x561c7bb02b90, 0) =3D -1 EINVAL (Invalid argument) [pid 24603] getdents(8, 0x561c7bb02b90 /* 12 entries */, 131072) =3D 328 [pid 24603] getdents(8, 0x561c7bb02b90 /* 0 entries */, 131072) =3D 0 [pid 24603] close(8) =3D 0 [/snip] Calls with EBADF and EINVAL show up on my debian version and also on the version I compiled from their repo (https://github.com/ColinIanKing/stress-ng.git). This runs over this collection: ret =3D stress_getdents_rand(args, "/proc", true, 8, bad_fd, &duration, &count); if (ret =3D=3D -ENOSYS) break; ret =3D stress_getdents_rand(args, "/dev", true, 1, bad_fd, &duration, &count); if (ret =3D=3D -ENOSYS) break; ret =3D stress_getdents_rand(args, "/tmp", true, 4, bad_fd, &duration, &count); if (ret =3D=3D -ENOSYS) break; ret =3D stress_getdents_rand(args, "/sys", true, 8, bad_fd, &duration, &count); if (ret =3D=3D -ENOSYS) break; ret =3D stress_getdents_rand(args, "/run", true, 2, bad_fd, &duration, &count); if (ret =3D=3D -ENOSYS) break; hence weird stuff mutex and rwsem stuff as well. All in all I don't think this is a legitimate benchmark per se, but it may be it is doing something similar to what a real workload would do elsewhere with lockref. On that front alone it warrants figuring out (and I am going to sort it out, see my other e-mail). --=20 Mateusz Guzik