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 47A6FC02194 for ; Fri, 7 Feb 2025 19:45:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BDD636B0085; Fri, 7 Feb 2025 14:45:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B8BB06B0088; Fri, 7 Feb 2025 14:45:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A7A7D6B0089; Fri, 7 Feb 2025 14:45:38 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 88E3B6B0085 for ; Fri, 7 Feb 2025 14:45:38 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 617F8A1F94 for ; Fri, 7 Feb 2025 19:45:37 +0000 (UTC) X-FDA: 83094178314.24.7989EAD Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) by imf26.hostedemail.com (Postfix) with ESMTP id 63F04140007 for ; Fri, 7 Feb 2025 19:45:35 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=m8CEU25m; spf=pass (imf26.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.208.47 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=1738957535; 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=Dl+o0D2PPAJNSWAMlZvIeA5j8rLr9zSA+Ym2y6pe7mo=; b=WW46dQNgx85bYdqBSBxEZplte9+rM/756hegn0m6kopWcRdtWli8eRHwdF37hZ7pY3m4ya EtOyFUUZMsoVNHQnznuumu0ZVKOEzymPr97WrNUc8l93EjbjQrXOZhG6Kgbbf9IXlK1zXy jXE+ADfBHuiTptdjZGw/cgmbqp3mQOI= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=m8CEU25m; spf=pass (imf26.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.208.47 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=1738957535; a=rsa-sha256; cv=none; b=eohTIp59xgYO+VTvGNw8Hz1ooq2w7fsWZlAjWJo+cestD7qys7oHTm+kNEw9fS5U4pUMw8 mb86QzWsX8xzXW5r9c4gOV3RlOfo+ckSegjFepGTSWKw3nqfIwgVXl5807HA7QrsEILUkn Tdl9lp83d1WXCEfSCxUxsfWN5fokAU4= Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-5de51a735acso1242372a12.0 for ; Fri, 07 Feb 2025 11:45:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738957531; x=1739562331; 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=Dl+o0D2PPAJNSWAMlZvIeA5j8rLr9zSA+Ym2y6pe7mo=; b=m8CEU25mX19bKTnDirix+2yW2Tm4nEDPxXE9n0R6XMFfr8kDddOwHIx4q3oswxXEA5 TvrBF2FiEmTK1+SxFwSXKxe9i3wBYocwwtW/GvnUMGFVDbtIxzsHQsZgvHyLQk07L5xE jXBbE0CcbzW7Y1Yg1ENf4+Wfc7MNjMi1gHgwcZjSIk1tZmKaWHdKAe5R4fRzlN87s8dj m9QkhfpPoJu8Mciuu5QW/Oln5JX5gd8Bup+ULzR5kdKcvSmoqzL8lYDT7U+3qNbL4zVH XPC6dC5j350UWyyVQkUeZsSwAU9yp+M/aPyZntYfHt1BohPBRLPNfIrJgVEpiT4/OOc+ Shyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738957531; x=1739562331; 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=Dl+o0D2PPAJNSWAMlZvIeA5j8rLr9zSA+Ym2y6pe7mo=; b=VfQi9AlMO9+6Sn0He4ycVZNEuLEqNIn1Gsd/r5isdJD/7yHNPb23yWzVYjxfJleOHX iyWaDBY3DaN9GJ8KkRdST9FIRrHLFrZqjVxbj8jYkI5aZQ+ElW1BY9iI5ijIqj89KR+Y MhVbfOqMzCGAmtqYYGbr3ZKq5g6HnppYnn9ljsMSi7qBJS2geapGvgwhRr/yw+tQ6nxV iSuRCNFY3xJWPqPHjOIuwLtK620ezOT6NKbGI567FGVdMi56uakUpXiiU4IWD2IMxbT+ wLqsBMhGBxue4gFd/JgMKMtIEJwQtP5DlghUEUAvT+yIdg6CR19bKUwDIgROM1ngeJj2 4Dzg== X-Forwarded-Encrypted: i=1; AJvYcCWbL1NSK5cjCpbdhkU59OQf3amCYrxsf1bdjcFyCTSfmgd7s1ooClXeUt6fEJaHqU/GIQgElwY3kw==@kvack.org X-Gm-Message-State: AOJu0YzIjNqrBDJE0DCZoWA7TgglkXJ9FdgtVwx2uXhWdI/ne7Yvo0np i9m3kM56TvEbk6V03r+W+apVn2wh6fVVN9k+T18QeLbOnXR34kwZBLGjxOklxEZiqZxz+jXTw38 PZjiGEUi/vUXdycA6NGDMniWxgO0= X-Gm-Gg: ASbGncsL0+eGm75MgxGh9cxSYm6WOPJ0WpXCvs6R8fDpsCb0xme4dGCnUNGDR+IxN6u hU17+LB9tjuK80KWbcZQxC5YL19DwJr+PT71DfA/VhH4rzO57ZA43khBZK714yIi6xyXwHmNb X-Google-Smtp-Source: AGHT+IGuvBL/HjmUagbLIPO90yptaPxRPD4VPEF+pqH2y9a3gQRqckD0bwL6fdbznTHex/lq/1WQ2djPRMHuVuaCdPE= X-Received: by 2002:a05:6402:13c5:b0:5db:e7eb:1b4a with SMTP id 4fb4d7f45d1cf-5de45005a3bmr5409817a12.10.1738957530567; Fri, 07 Feb 2025 11:45:30 -0800 (PST) MIME-Version: 1.0 References: <20250205200929.406568-1-mjguzik@gmail.com> <20250205200929.406568-5-mjguzik@gmail.com> In-Reply-To: From: Mateusz Guzik Date: Fri, 7 Feb 2025 20:45:18 +0100 X-Gm-Features: AWEUYZnp44jxQbuZ3GApkGfY582alad7VLfkZ6hcruNUjjq172_UjAeCGAYHqP0 Message-ID: Subject: Re: [PATCH v5 4/5] pid: perform free_pid() calls outside of tasklist_lock To: Mark Brown 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 63F04140007 X-Stat-Signature: enwgkc33aze7k719f15xmne8cwpgtusj X-Rspam-User: X-HE-Tag: 1738957535-564351 X-HE-Meta: U2FsdGVkX1/mvs6m1Y0G5RdgWWQMmaBHMVRNAqdym/8ivXAb85V5svOoHB88+zNsX/YCE+VA/vucvthyIsgqsxomZij/4ksqWyotch9LzEETun/CqqEpsW7htgSOjzYGq595BUJTp5RdRBP3w0WPTbXxmxis9Cn8RQ9Vqx0GdaMDBJwhwJYTyBiRD1bx0Iwta1VXspdeN4mP7GUVNsT0kdOjFQfAYdvDoWLXfgEIY3/7yw6H37csV2kk2sVKMnPt7bCwKK0stE0jJEGdLoASM/TVlpKcDUOtsSnIk/SCAnf/cs0gL+R5UJjWkZk4vvjtZYsM3neAw3jFHH/EnQsMq2yDCKQfafZGyDqDwy4B+ibCfNM6k9de+QkUPmsTfi6RSCSGSExqQMs/RZJk0yzhjkdpErxIkZUI3TxfhHcx72ZSWlnr7CVF+8ac/3OTqNyboC3227IWvklj6zndUznb61efjXRkLnHJfXhq/XLMzoYsH/l4DDz3VwP0IUvWulTCym+DaIi4WqTSxrjZwkhPGe744yDuvyq3LhZScKO0NpCzVgF5gy9PGHLg/9YBXSgYivzy5J1OhrCOtTIvQVXEp4uUnWQhN0VAz11i+ciaRy6C/pXEOD2mg4jxEa4jtVvZXJ7EouY9m9GTIjwFl8aWPuzzdMO6FOX/9Mwhzd/auUaNJc9FGaKEc3dT/6fkUhbpz9m4lMpL5o4NJczKP4hq7olNUVZe+Ga0WncHdFdhqZjinvQ+TVtkJMcbBfzq2HyOF0AmxMykeZVPijFo2l6X45ADIAMzxw8R00uMu/M8M43UaPkzHQiPdlA5s+eTalMO5klOXXnuQbam6nY8wSqDwlXWJjfc2Qr5VzPdOt/Dm9/I02TTVFjmfWu+WbhaBes1U8WUb1Rl+adCj7E3E/NsphENc3JdIvAXv+kz4ezvgG4Zn8vXd5BT6Gs66MQwWnQPeur1IVPOljYN9/AVSBs lCbwiOId 9DwWTTofAclZOLvG7quHyfGgY4akyN7XHMHXPzzlN6ysES9WD9d4MqMDbA4/rZOONNdPndZtywNTqDlh/9S5UWs39aeQDTuTfRpD9fcrBmweCaCfj/XoEEaTj+xbgxB4orQGXkrvcvSk7mKEHmtDq8qGkcnEf3qDA9UFsE8xhzOELFojc7IZJRFscyMHOub9BoFx3dA07LAUllo3qz1Z6Hrj2nKkR81qkJWSG5LEG7GQB/O3AHDBiKRF8+PAH66qClGYZaU2rHeH5VD/mU1F4ysc/1Ef6bjyXDDOgxMycVOwexUbMjn0jdAFsCziP+UOFRlrONWBS4ifVNSX1Vvuj9ioZZlGix1r4wyUQ1dsQyZf69hBtnYd4AYdiIokCwwhqn2lFEXSyhEXda/lViAUYMZkiSrMVnLHYgyVjYA2s6wO+g7QrSdNJySmltdxI+sjn/EmhRShBhX0mKkM5vgcJVnfxmFonAmz7GXKnuLk+TDPV7mZukjmecxgTSX3rhLVAOMIzSArl10BDcsw= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000004, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: thanks for the report, i'll prod it over the weekend On Fri, Feb 7, 2025 at 7:31=E2=80=AFPM Mark Brown wrot= e: > > 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. > > > > 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= files for 20250207 > # good: [653cd79f296fc6fa592cb9fa2f7b8494d5573a43] Merge branch 'for-linu= x-next-fixes' of https://gitlab.freedesktop.org/drm/misc/kernel.git > # good: [4c7518062d638837cea915e0ffe30f846780639a] ASoC: SOF: ipc4: Add s= upport for split firmware releases > # good: [0a7c85b516830c0bb088b0bdb2f2c50c76fc531a] regulator: ad5398: Fix= incorrect power down bit mask > # good: [215705db51eb23052c73126d2efb6acbc2db0424] spi: Replace custom fs= leep() implementation > # good: [6603c5133daadbb3277fbd93be0d0d5b8ec928e8] ASoC: dt-bindings: atm= el,at91-ssc: Convert to YAML format > # good: [25fac20edd09b60651eabcc57c187b1277f43d08] spi: gpio: Support a s= ingle always-selected device > # good: [652ffad172d089acb1a20e5fde1b66e687832b06] spi: fsi: Batch TX ope= rations > # good: [6eab7034579917f207ca6d8e3f4e11e85e0ab7d5] ASoC: soc-core: Stop u= sing of_property_read_bool() for non-boolean properties > # good: [f5aab0438ef17f01c5ecd25e61ae6a03f82a4586] regulator: pca9450: Fi= x enable register for LDO5 > # good: [c1ac98492d1584d31f335d233a5cd7a4d4116e5a] spi: realtek-rtl-snand= : Drop unneeded assignment for cache_type > # good: [5a6a461079decea452fdcae955bccecf92e07e97] regulator: ad5398: Add= device tree support > # good: [995cf0e014b0144edf1125668a97c252c5ab775e] regmap: Reorder 'struc= t regmap' > # good: [89785306453ce6d949e783f6936821a0b7649ee2] spi: zynqmp-gqspi: Alw= ays acknowledge interrupts > # good: [0e11f2076e7fa3efa3e0a694bc4d30ef185f0f7d] Merge branch 'for-5.19= /cleanup' into for-next > git bisect start 'ed58d103e6da15a442ff87567898768dc3a66987' '653cd79f296f= c6fa592cb9fa2f7b8494d5573a43' '4c7518062d638837cea915e0ffe30f846780639a' '0= a7c85b516830c0bb088b0bdb2f2c50c76fc531a' '215705db51eb23052c73126d2efb6acbc= 2db0424' '6603c5133daadbb3277fbd93be0d0d5b8ec928e8' '25fac20edd09b60651eabc= c57c187b1277f43d08' '652ffad172d089acb1a20e5fde1b66e687832b06' '6eab7034579= 917f207ca6d8e3f4e11e85e0ab7d5' 'f5aab0438ef17f01c5ecd25e61ae6a03f82a4586' '= c1ac98492d1584d31f335d233a5cd7a4d4116e5a' '5a6a461079decea452fdcae955bccecf= 92e07e97' '995cf0e014b0144edf1125668a97c252c5ab775e' '89785306453ce6d949e78= 3f6936821a0b7649ee2' '0e11f2076e7fa3efa3e0a694bc4d30ef185f0f7d' > # bad: [ed58d103e6da15a442ff87567898768dc3a66987] Add linux-next specific= files for 20250207 > git bisect bad ed58d103e6da15a442ff87567898768dc3a66987 > # bad: [5a44f71c6ba5b0a7623c25047ac61ed852afbd84] Merge branch 'for-linux= -next' 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'= of git://github.com/martinetd/linux > git bisect good 09c7fd0d4465df7fd6cda5668bd32267884b6cbf > # bad: [7a1f00b09c09aadbf33660a31f3f3d8ee6302c45] Merge branch 'vfs-6.15.= iomap' into vfs.all > git bisect bad 7a1f00b09c09aadbf33660a31f3f3d8ee6302c45 > # good: [9bc19073026d0dce6b7d17d22e74643c80283f8f] Merge branch 'vfs-6.15= .mount' into vfs.all > git bisect good 9bc19073026d0dce6b7d17d22e74643c80283f8f > # bad: [ba734a751d30f59e3b10d6792a1e1b50e7b1fc0c] Merge branch 'kernel-6.= 15.tasklist_lock' into vfs.all > git bisect bad ba734a751d30f59e3b10d6792a1e1b50e7b1fc0c > # good: [d7c340391cb0f0882bc8d5d9798ef32b577a89bc] Merge branch 'vfs-6.15= .pipe' into vfs.all > git bisect good d7c340391cb0f0882bc8d5d9798ef32b577a89bc > # good: [e88fed94388f62a28acfef4954348abe79557d19] pid: sprinkle tasklist= _lock asserts > git bisect good e88fed94388f62a28acfef4954348abe79557d19 > # bad: [5ca27e0557d722dd648f949dde6e4997f6255f18] pid: drop irq disableme= nt around pidmap_lock > git bisect bad 5ca27e0557d722dd648f949dde6e4997f6255f18 > # bad: [88dec855ce117f52bcf88748ddcbb25b10f4f2fc] pid: perform free_pid()= calls outside of tasklist_lock > git bisect bad 88dec855ce117f52bcf88748ddcbb25b10f4f2fc > # first bad commit: [88dec855ce117f52bcf88748ddcbb25b10f4f2fc] pid: perfo= rm free_pid() calls outside of tasklist_lock --=20 Mateusz Guzik