From patchwork Sat Feb 1 16:31:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mateusz Guzik X-Patchwork-Id: 13956253 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 27D4EC0218A for ; Sat, 1 Feb 2025 16:31:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 999976B0088; Sat, 1 Feb 2025 11:31:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 947AB6B0089; Sat, 1 Feb 2025 11:31:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 80EA26B008A; Sat, 1 Feb 2025 11:31:27 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 62FCE6B0088 for ; Sat, 1 Feb 2025 11:31:27 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id DE608816E6 for ; Sat, 1 Feb 2025 16:31:26 +0000 (UTC) X-FDA: 83071916172.23.18EEC37 Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) by imf14.hostedemail.com (Postfix) with ESMTP id D5E9C100018 for ; Sat, 1 Feb 2025 16:31:24 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LyNGUM4w; spf=pass (imf14.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.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=1738427484; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=q9VwguEfdw2O0mEEKHo5I+DTD1LWzDzpt7iDjHggfOc=; b=IVaU9KQzng9Rw7ycUsK41/CtyUHK9cZAKDh/YKiEdRUTEQHJR6uaPzhuIhjGoauhG/1sp9 VpBqe06nH7ZQuBCKyrYI6jUYIjgjWuxw7gwSbg89J4ZXVqY50RkWNYbsDxYMJjYy07jWb9 2uowtuGe9hboNW6zuzrPbKDR0wSYG3I= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LyNGUM4w; spf=pass (imf14.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.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=1738427485; a=rsa-sha256; cv=none; b=qaP6UQ0AKGGQK7TUz87lgIEMnjNBYp6MNFonVNGHL1r4FOwcj29zN+veLLY2Y1izmHQoN3 HpiCZNptiYtGIF5GQAuj3It+OxvG1Mj+jnw2JRsymxvJHtHgWBYgcJzjjznLamMmjKMbnQ r5iKOu3QB5rMc8zJHXWRAGCIeOt+HCA= Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-aaedd529ba1so423084866b.1 for ; Sat, 01 Feb 2025 08:31:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738427483; x=1739032283; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=q9VwguEfdw2O0mEEKHo5I+DTD1LWzDzpt7iDjHggfOc=; b=LyNGUM4wTxa8kum9qLzEYKgJ95Cm8AmAMGqrK2TLkMWwIeJUKjoj1Qcl4TMO2egnAA RJXoJGanHY3vf8ij2VjIR6sgOTLZvPmuNHkSsuPOzcf+kPsao5ORz4lFMnECPWzaBTon 4BVbGtm7Fdk8efGSlKe+jORezGDdRampz0lDOjLNGUts8F8pggQ40XeqICw5YhJExlmw etcd1GwUx1yU5zjoPOp3Y1hsITAm2pBhRa+CNSyUWt9jXqs30mnQf/gL2Lx3YLTxt6QS AbwqnTq2O1PUFBBenrShI1Iaw+SAg7fubOsVhtqRCVSNPFf3qlkfNX33jqiUT5vXyABv 9bzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738427483; x=1739032283; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=q9VwguEfdw2O0mEEKHo5I+DTD1LWzDzpt7iDjHggfOc=; b=LxqW/wceKwOorQtIWa2sEZ6GKXAwoyRQnm9e940zeYn2lWoOV9q6p5pyY+uUGIR0lL 9Mdm1HTKuCJ+yvGWn2Sz6vtAmA+rrXsPt3wLe1BOljmGKOT+MWSPSOGrXD88dIECHKTH 9XbdQIt+HpYwACogWKKhzxUdy9Mi5NHOWB10oTxrUx9TyBK4ZAypcla+qgHyysH9fozB 2hUFBWBDtNU4ru5xibNn6WJTEjOkzJOZlbhLC9znLMEah6DcMs1hYK8/UVxeo4zls18L F8ENeRGBh7nspsFYKbTPdvXmIbVbXnJ19Zc8OfOPdhBUdoVyPmSeMJSCyUDta4Mmj/x6 uReA== X-Forwarded-Encrypted: i=1; AJvYcCXMzayCDc5TpFm7QWsZJwcEozmmcqwzedRLhENCx3LCc89DiJw61sEqtDtlqsEg+tHQxyk/9ZdYTA==@kvack.org X-Gm-Message-State: AOJu0YyHQ/NkAeDkK5B3Od7lQ4VZeGT+8LdXtwc+i1QF+kLyHjpYnZOM d6amP0iPBooawVGapdUjOhSWoLAkZFsSCpI3gzjxnGtiXui6IExG X-Gm-Gg: ASbGncui6FEplL33iL1RUXRHZSTyNWEsG5BV4oDfvyOORvrr4hsJTNxziNpn0RYkx2z cX7YauO9COtb/RyaZ6BmaEf9O0WFNTlxITyueJxA12rdYI+nuEyBgZmuZ8WskjczN6r5Fx1G3ML W7M7wqCWyNNq1zz8x9tFM6FcAkE8V/gMi4ENJEvk86KX+nDiXQpTWGBkEtBXXf78yOO7poCnLqT bg+OajWkRJifRf+PDn7UmkW4lrB9rbl+k3QdCtvYHgYSC6J0DXb7m2f0gGCcm3bBpMbOlB37c78 00tiqv/ClIk/miENN4PfoxwKE+W3jN3e1g== X-Google-Smtp-Source: AGHT+IHvc7aK8w+Hd89W24dqneZqKXcLr+wAyc1msRlyW5N6rBFhpTa7M7G/9pyZypuHCoX+4ZopoA== X-Received: by 2002:a05:6402:3511:b0:5d0:81f5:a398 with SMTP id 4fb4d7f45d1cf-5dc5efa8b65mr37039629a12.1.1738427483014; Sat, 01 Feb 2025 08:31:23 -0800 (PST) Received: from f.. (cst-prg-25-223.cust.vodafone.cz. [46.135.25.223]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5dc723cff72sm4636959a12.15.2025.02.01.08.31.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Feb 2025 08:31:22 -0800 (PST) From: Mateusz Guzik To: ebiederm@xmission.com, oleg@redhat.com Cc: brauner@kernel.org, akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Mateusz Guzik Subject: [PATCH v3 1/6] exit: perform add_device_randomness() without tasklist_lock Date: Sat, 1 Feb 2025 17:31:01 +0100 Message-ID: <20250201163106.28912-2-mjguzik@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250201163106.28912-1-mjguzik@gmail.com> References: <20250201163106.28912-1-mjguzik@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: D5E9C100018 X-Stat-Signature: enk1g1acaun19pdjrfa3a4b1ncp4enya X-Rspam-User: X-HE-Tag: 1738427484-169945 X-HE-Meta: U2FsdGVkX19W1+7NNUyormZmxVxpCDrsmw3mP/RzLCpwfEUeIsD3RUn12xvh5U0Kz4fbQ3l5XbrDDHh5crdYCtET+0HXznzfbgfee0UjN+9YkoxJKbDxRWG9VYER2u9i4t/82D0REeV1qkeLqICl3EABIUrJ0zUkJMwD4FS7C/cjxUwqgDirtnsrwkTtArbS+Ov76iUNDmT5ppcLzRxrDHpa9z+SmCGcS0UUkixF12dhQi74zupP7SQtprOSRy7Kpzw9yWIJzGpoK7qcd8a37er7qxmX1sDz+HsjucV1XKYHHqHYQv40Mct9SAjpoWnSS/fpdr+bILjNinlwmnPkY7BLKXV7UoesexsGUFbI5TrF5ovT76RP9HPTdjTBm/10ZaAVbdofoXQCDUb0uldgI88nsDHPDEB7+Dg5osJQlBJY40eznAsYgOJcZABk1+bI+DMjd3fzysJJ99ySyCWu7cZg/8FFsb/MEn4A0ckgQOwuhiNHyRxgT/ThfDZAneOchPdXztZnWLzxIotopuHF5Inlu02xl2hmoYjWeViGqCJc+1LDrkWxOn+L0smB7lSQpYQgRVYAMBcVqcEw+36Y36/9gmLGgpsyuAGQaAH9GEAMg/t2jHAAxOvF5ZGLWYdR3Rq1AkUGWO8HLeB8EM30bpn6IWIztlwaAaYWF9j+Q/ARAML5K9JDHUacsTbaH+iKGM+fT5QHd5pcjM0kq7vtxlYQQkij5z5LoyuXW5NmGVWCg2SgIwAG0aqvvYZc+VdIq9iXdbjkKFXlEKhvdQxF5inNiFv3FdhVKZkw9ofIk7rWIBzd8KlGKxHt3wgwyWpVXvTcZog3aEuui6YWnmojG7CKGFO6G7o92laaB0Pesar8JjhLKOY6nvqTXlwM0KQ9ySPDQFczhrC15amZi7dKH9kdxOfnafTbBnye9aGhVR/JQbvsLnmpG2IGxGJ1M+BS1v1nOMEvyPL7LiaNwMa S0QUx92f RMF0UPdb5gcmM6I2DbCmNY4g1n3i5mwhIQmSS4g/N0sc0N7hlaofoIUNg57Omb8Vm0abPMgUJs6WtSomxAs4f+1skJJeNtDu47U4Z1ONrMWr46WhZOIcQBNlX4KKtyr6iyGGcEj5cUrt5/j2ll4MmdyZVHbSNVRvuJjXQF1lCPqmxCMbO5pONRAEnG5C6HzbtXGW3cxJlJA3rWYNfvuvUDPBmQkJ9VB9yTDNw3p1spGV99OA4j9hWKgvq3yOH7AEUQ93a920RGEN2627i26lqm8EKqx9033qK3QpBmJUrk4YV4xnSmyDbjQJxtK0pkpQXyyN3z0v1Y0qU8oo5IYfdKY5Zxg+sHYg4ciBTzeOrEvsXRDNMc0cv71Q6J3MWeKrr/Llov8rZNeoR6Ghx6rz6n915jwGPNh/MXoV+2JSjapBD4EI= X-Bogosity: Ham, tests=bogofilter, spamicity=0.007839, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Parallel calls to add_device_randomness() contend on their own. The clone side aleady runs outside of tasklist_lock, which in turn means any caller on the exit side extends the tasklist_lock hold time while contending on the random-private lock. Signed-off-by: Mateusz Guzik --- kernel/exit.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/kernel/exit.c b/kernel/exit.c index 3485e5fc499e..1eb2e7d36ce4 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -174,9 +174,6 @@ static void __exit_signal(struct task_struct *tsk) sig->curr_target = next_thread(tsk); } - add_device_randomness((const void*) &tsk->se.sum_exec_runtime, - sizeof(unsigned long long)); - /* * Accumulate here the counters for all threads as they die. We could * skip the group leader because it is the last user of signal_struct, @@ -278,6 +275,8 @@ void release_task(struct task_struct *p) write_unlock_irq(&tasklist_lock); proc_flush_pid(thread_pid); put_pid(thread_pid); + add_device_randomness((const void*) &p->se.sum_exec_runtime, + sizeof(unsigned long long)); release_thread(p); put_task_struct_rcu_user(p);