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 407E7C02194 for ; Fri, 7 Feb 2025 18:31:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B7BC9280004; Fri, 7 Feb 2025 13:31:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B2BBE280001; Fri, 7 Feb 2025 13:31:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9F246280004; Fri, 7 Feb 2025 13:31:27 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 80CB4280001 for ; Fri, 7 Feb 2025 13:31:27 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 0A3BDB0575 for ; Fri, 7 Feb 2025 18:31:27 +0000 (UTC) X-FDA: 83093991414.19.DFC6EE8 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf19.hostedemail.com (Postfix) with ESMTP id 03BBE1A000D for ; Fri, 7 Feb 2025 18:31:24 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="i8w0KP/S"; spf=pass (imf19.hostedemail.com: domain of broonie@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=broonie@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738953085; a=rsa-sha256; cv=none; b=rQB3t3xcdA3z2yM8xcAR6D65RtXGAadQhR8Ifs1676spHLVdsSVgf9R1ttjiOOTilR/xRK 027MBsQDnODtb/cttJVnhANIZmndcWQeWyd5JRyoxSUtj/paS6TReVKXi6ja4xoyqNm8+P MUyM9JPICgoBV/0mI2x79OVznAxDre4= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="i8w0KP/S"; spf=pass (imf19.hostedemail.com: domain of broonie@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=broonie@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738953085; 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=cZjQk3Ws/7DehotMgLcTrK/R0lvJvaJlT9xTiTajq5k=; b=7Bd4d/Mqj677MkRYPdRMD+GIVlb9Ee8zby8XA3YztEuLJZ02a1orLJnJgK895ao24HqSr1 eRH2cBmy9V5kz4KBY+2q6iAkJK/6a5FONx8EB4pQzDimCLhe37GpU4xjuXMlyx/iHlRVCr sP5sn+UpjzK37m1Bs3W7snqJccy98jE= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id DD12D5C0065; Fri, 7 Feb 2025 18:30:43 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 701ACC4CED1; Fri, 7 Feb 2025 18:31:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1738953083; bh=YZi5gQTKYD9GWu8H5k4S5MxWI59dVjk84aCwTZZ4pbo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=i8w0KP/Sfnk0l5lYm+7ZXKbrpG9GShgTURS0lRyDq59LB52ny1u9ME0Phws8bj4YS /SHJHrncNX33D+rfTfrT27+ecIYpzbJjwUWxqucEugQ07ZRkEUuwgaG4iheeRhgV0H +/ZoeqeUk4XO0rqwy/aRloCR9Fv1puwootJc8gavZxEuMQVqeDPRpjP/J4ID23F7k7 lwxvSXM4PFOpSWxiyd83Gl2R8vdIjatbnfukNcnGbn/jtQGkLdkQOLwOs0FX1msgZb gWkB4FBVYZYy/dWCRYNP2kNXkRcUkeAI5dVrJhqyjvTi+7cybBXedf8/ZDELv8IDi+ qJsvpXnSnAOyg== Date: Fri, 7 Feb 2025 18:31:18 +0000 From: Mark Brown To: Mateusz Guzik Cc: ebiederm@xmission.com, oleg@redhat.com, brauner@kernel.org, akpm@linux-foundation.org, Liam.Howlett@oracle.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Aishwarya.TCV@arm.com Subject: Re: [PATCH v5 4/5] pid: perform free_pid() calls outside of tasklist_lock Message-ID: References: <20250205200929.406568-1-mjguzik@gmail.com> <20250205200929.406568-5-mjguzik@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="DR0vQQ/8trDze30N" Content-Disposition: inline In-Reply-To: <20250205200929.406568-5-mjguzik@gmail.com> X-Cookie: Tax and title extra. X-Rspamd-Queue-Id: 03BBE1A000D X-Stat-Signature: ezd8rzbt6z7e4apzu9o3ure3jdt6p7rx X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1738953084-672685 X-HE-Meta: U2FsdGVkX1+zvEEhY84Rsm7vqceRPjVVo0Vt+i9U9Kd8wxmFHiX3hGeSgZdYx99bdAa0baDgWjoT3w52YvtVVp84LNWXjYfkF582BiiHkeK46rCN614tqifl6xm62Yl/pp8efg/SwvGHtonTy/LZhiLCZktWIcw+t2GXGf9RvQ2n8pHvHpRbN/C5JTR/cwuyz6vH2alLxbnvifuWgq8rUQquHLsr1ARbrNpcOWHaffBg0rkt3H8ANtDp/Z68uwjv+BI9IiYDSs4NaVZzJL4+NYN/uMavXrvfP72m+p0mcGMIz/x0Yudx4QBfByzv+sFu7tv4OhyYNnVzGgcp4RtekWYAZwf3VffxoRnGiH2MiFQxdcU0dXRsqNOJC3NwGULOWk559zEEWDVeCq6HWN3LDJkKIDd76pKdiO6g/qPBspEuo/7svEQCpqIdld7k2INS0ld26+C3MKzuQT78jZsoVkZn53AA0f3/DYwqXCYj/cUUROLQDXegeKaixCtSUetiMXOUYu1ysK+NdC/Zh63NHK1c0qVianjFGE1vFxVP9CYJ8W6HfphVIJmO2JvJX8W5wBhtEcYzQ0kMq7knLP7hvBWwnWsDvESrqv1k3Awb4rNWppgGeW3L/FFr8xdr/atRTJQ2hAkPctEImaykh+MpRW8j2X+T7rkuJxdFEjNhxUWVgP8qoIlOJMgmWj40Nq/qQapERBAVrhT6B78PSUAeNV8ZhkkD9LhkgmGweFnBi6eTgfPIZvbUEL0S7PloZOxJIywOTiSODss0VeD2DzYiL52pyFRoAZQHqpvt9SZQmwsLQwPvlolwoKTUqGHixB4pW9/ZjuOGUOO/Wy6+R7XQ5vdI40b4QaaRwLIFrB2B+Sg+CRzKE5prsG4n+lkZhzC7KbNlyFZ1pySN3VW7teiumeEuZZ1HrMggwERsdVJeXrZvHeEPBmk6miayp+drR3lOZhtyeqRSKO1dgUmjcz4 uBvlJ/ZG +XrKFggWXcufDoX6ODvjCN/16tYLnDiz/uO9Vq+mK1bSJubKHdJ2wMS2S4WDePuZH7zafE6cRxEMBOp4LRon8l9PMU0eGet9iHK0so6ThCU76vZCZ0xIp2pIp6T+XnYGDmdLb3/tx3eRg9JQ5hv/mkdUBSGyP67ntdCg6bweXFSI2XK1+FwaZagjQAnhuie5fOEZxNLUhNU/9soX7+0wi7r4RsV6riE4Og8Mt+bmC3LvrL+ffCVPYHvmhrXVVIYtpVbJE833WXqIrdeD3IOogCLhL6/3/dfDQoN7EsMpY23ceI44haBkDSFQbc01IRTR4JgyZDVTPE4PAtRWrAblmwT577is3la2zQ/pgDYku4HPB2Puk18KUkIcccdZlRP71jkOZ6zRgfWbPqO43K3Wan9B9Pfle7EFLBdh+dLRxMmpeDFAJGylSeEwPoRTKJniPv0opSThN+v47YSJn0LOY8NT/1PweD1X+Cepk0hTowbYLXcVJA2AwNWNMadUk4Qx2hZ0Y75aIBX5Czxs= 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: --DR0vQQ/8trDze30N Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Feb 05, 2025 at 09:09:28PM +0100, Mateusz Guzik wrote: > As the clone side already executes pid allocation with only pidmap_lock > held, issuing free_pid() while still holding tasklist_lock exacerbates > total hold time of the latter. >=20 > The pid array is smuggled through newly added release_task_post struct > so that any extra things want to get moved out have means to do it. We are seeing failures in -next with the clone3 clone3_set_tid selftest on at least arm and arm64 systems which have been bisected to this commit, in -next as 88dec855ce117f52bcf88748ddcbb25b10f4f2fc (same bisect for both): For arm64 we're seeing a bunch of new failures including: # # [389] Trying clone3() with CLONE_SET_TID to 391 and 0x0 # # File exists - Failed to create new process # # [389] clone3() with CLONE_SET_TID 391 says: -17 - expected 0 # not ok 19 reallocate child TID with 1 TIDs and flags 0x0 # # [389] Trying clone3() with CLONE_SET_TID to 1 and 0x20000000 # # File exists - Failed to create new process # # [389] clone3() with CLONE_SET_TID 1 says: -17 - expected 0 # not ok 21 create PID 1 in new NS with 2 TIDs and flags 0x20000000 # # [1] Trying clone3() with CLONE_SET_TID to 43 and 0x0 # # File exists - Failed to create new process # # [1] clone3() with CLONE_SET_TID 43 says: -17 - expected 0 # not ok 24 check leak on invalid specific TID with 2 TIDs and flags 0x0 but there's more, 32 bit only seems to see one new failure (at least on Beaglebone Black which is where I have that test running). Full log for a run on arm64: https://lava.sirena.org.uk/scheduler/job/1102114 and arm: https://lava.sirena.org.uk/scheduler/job/1102088 Bisect log, the start is my tooling feeding in test results it already has to hand in the commit range to seed the bisect: # bad: [ed58d103e6da15a442ff87567898768dc3a66987] Add linux-next specific f= iles for 20250207 # good: [653cd79f296fc6fa592cb9fa2f7b8494d5573a43] Merge branch 'for-linux-= next-fixes' of https://gitlab.freedesktop.org/drm/misc/kernel.git # good: [4c7518062d638837cea915e0ffe30f846780639a] ASoC: SOF: ipc4: Add sup= port for split firmware releases # good: [0a7c85b516830c0bb088b0bdb2f2c50c76fc531a] regulator: ad5398: Fix i= ncorrect power down bit mask # good: [215705db51eb23052c73126d2efb6acbc2db0424] spi: Replace custom fsle= ep() implementation # good: [6603c5133daadbb3277fbd93be0d0d5b8ec928e8] ASoC: dt-bindings: atmel= ,at91-ssc: Convert to YAML format # good: [25fac20edd09b60651eabcc57c187b1277f43d08] spi: gpio: Support a sin= gle always-selected device # good: [652ffad172d089acb1a20e5fde1b66e687832b06] spi: fsi: Batch TX opera= tions # good: [6eab7034579917f207ca6d8e3f4e11e85e0ab7d5] ASoC: soc-core: Stop usi= ng of_property_read_bool() for non-boolean properties # good: [f5aab0438ef17f01c5ecd25e61ae6a03f82a4586] regulator: pca9450: Fix = enable register for LDO5 # good: [c1ac98492d1584d31f335d233a5cd7a4d4116e5a] spi: realtek-rtl-snand: = Drop unneeded assignment for cache_type # good: [5a6a461079decea452fdcae955bccecf92e07e97] regulator: ad5398: Add d= evice tree support # good: [995cf0e014b0144edf1125668a97c252c5ab775e] regmap: Reorder 'struct = regmap' # good: [89785306453ce6d949e783f6936821a0b7649ee2] spi: zynqmp-gqspi: Alway= s acknowledge interrupts # good: [0e11f2076e7fa3efa3e0a694bc4d30ef185f0f7d] Merge branch 'for-5.19/c= leanup' into for-next git bisect start 'ed58d103e6da15a442ff87567898768dc3a66987' '653cd79f296fc6= fa592cb9fa2f7b8494d5573a43' '4c7518062d638837cea915e0ffe30f846780639a' '0a7= c85b516830c0bb088b0bdb2f2c50c76fc531a' '215705db51eb23052c73126d2efb6acbc2d= b0424' '6603c5133daadbb3277fbd93be0d0d5b8ec928e8' '25fac20edd09b60651eabcc5= 7c187b1277f43d08' '652ffad172d089acb1a20e5fde1b66e687832b06' '6eab703457991= 7f207ca6d8e3f4e11e85e0ab7d5' 'f5aab0438ef17f01c5ecd25e61ae6a03f82a4586' 'c1= ac98492d1584d31f335d233a5cd7a4d4116e5a' '5a6a461079decea452fdcae955bccecf92= e07e97' '995cf0e014b0144edf1125668a97c252c5ab775e' '89785306453ce6d949e783f= 6936821a0b7649ee2' '0e11f2076e7fa3efa3e0a694bc4d30ef185f0f7d' # bad: [ed58d103e6da15a442ff87567898768dc3a66987] Add linux-next specific f= iles for 20250207 git bisect bad ed58d103e6da15a442ff87567898768dc3a66987 # bad: [5a44f71c6ba5b0a7623c25047ac61ed852afbd84] Merge branch 'for-linux-n= ext' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git git bisect bad 5a44f71c6ba5b0a7623c25047ac61ed852afbd84 # bad: [953e43d94b2048d260774e9ddbfd3f378aa2c256] Merge branch 'fs-next' of= linux-next git bisect bad 953e43d94b2048d260774e9ddbfd3f378aa2c256 # good: [2ab7baf7ebddff9faff6846648fd0753e5ee58c1] Merge branch 'for-next' = of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git git bisect good 2ab7baf7ebddff9faff6846648fd0753e5ee58c1 # good: [09c7fd0d4465df7fd6cda5668bd32267884b6cbf] Merge branch '9p-next' o= f git://github.com/martinetd/linux git bisect good 09c7fd0d4465df7fd6cda5668bd32267884b6cbf # bad: [7a1f00b09c09aadbf33660a31f3f3d8ee6302c45] Merge branch 'vfs-6.15.io= map' into vfs.all git bisect bad 7a1f00b09c09aadbf33660a31f3f3d8ee6302c45 # good: [9bc19073026d0dce6b7d17d22e74643c80283f8f] Merge branch 'vfs-6.15.m= ount' into vfs.all git bisect good 9bc19073026d0dce6b7d17d22e74643c80283f8f # bad: [ba734a751d30f59e3b10d6792a1e1b50e7b1fc0c] Merge branch 'kernel-6.15= =2Etasklist_lock' into vfs.all git bisect bad ba734a751d30f59e3b10d6792a1e1b50e7b1fc0c # good: [d7c340391cb0f0882bc8d5d9798ef32b577a89bc] Merge branch 'vfs-6.15.p= ipe' into vfs.all git bisect good d7c340391cb0f0882bc8d5d9798ef32b577a89bc # good: [e88fed94388f62a28acfef4954348abe79557d19] pid: sprinkle tasklist_l= ock asserts git bisect good e88fed94388f62a28acfef4954348abe79557d19 # bad: [5ca27e0557d722dd648f949dde6e4997f6255f18] pid: drop irq disablement= around pidmap_lock git bisect bad 5ca27e0557d722dd648f949dde6e4997f6255f18 # bad: [88dec855ce117f52bcf88748ddcbb25b10f4f2fc] pid: perform free_pid() c= alls outside of tasklist_lock git bisect bad 88dec855ce117f52bcf88748ddcbb25b10f4f2fc # first bad commit: [88dec855ce117f52bcf88748ddcbb25b10f4f2fc] pid: perform= free_pid() calls outside of tasklist_lock --DR0vQQ/8trDze30N Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmemUXUACgkQJNaLcl1U h9AVUQf/TwMMM9I/2o3EcZGaENuSC7WUjHJnfE5t126RUZ3Eik94tM6X41wotz2m fF8RxuiUEP81/Gpg10msBuvKsp5Ocl24FBD9ADAgcSHjfDYPfVJl0SlHENldAAsp WXVJ5yoZbKBsGtmlWtgxSHbSJ0tdQHHjYLMw/jZse0GaOmKmPcbMcZyQjgLpuUcL 0VKZqLvwtkqgVsRn+WgiBcK5U0QOgZr1dL2Myw0qp/wuhxjFUF6oT8WEBZxJBsNN elP1Q+zLwr+UvEMg+3ZIIu2SLNMDnYcvrs6Nxwbmld2OQ9FSbgzo5XimqvfQoc9z NKbuthD5+vRgXrk+E/0Dkvxnz43AHQ== =GDjU -----END PGP SIGNATURE----- --DR0vQQ/8trDze30N--