Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp1832795pxv; Fri, 23 Jul 2021 19:30:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwKBmPITENcqPjPjBvUUCP0gxPzMMOVon+HJZXt2X3ERexayzAlfpUuZZDdQaZmO03F13oo X-Received: by 2002:a17:906:33d9:: with SMTP id w25mr7327589eja.91.1627093839913; Fri, 23 Jul 2021 19:30:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627093839; cv=none; d=google.com; s=arc-20160816; b=zgzyHvsHcLb1Bw2QO4aaAY/J3K7+cGuJ6yCTHkskk7iCIgGFadTDlZzbvEHupgAKEH tGUvzPn5SQSOR9Mr89oZ98q7cqZaWENfRP6BSQCL091RxNGfxHdEpS8XsZMW0dv5nAM5 4DTaP/1sn2v3dyEUAkU4gTn05ZNij+RgsQXS/ZGx01rF0Dj/BSNUMneWTZFDEtns8F+l FiBOBeW/Qck9U1vV3vnExF2aAfhLh/jWGFoWhgzu/7dXSG/U+FOIkHVtq0eyXZ9kbNzu qB6SuHSu8cMi/9aXOyRu79NfmHebmd+gNfRczMaAR/u10vCOWZjmvBb55FlbjuvM6nfg qFMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:date:cc:to:from:subject :message-id:dkim-signature; bh=dT1rIsiQXTvowcFgYUR7cYyDR16iC9PeRx7BeyWaknk=; b=QlE1PnpIyy07yLMrP0/kqErZPgrTA3UFyPuMujjKs4OOJVK5m+vZVY42hRE1Y1bd3y qc5uaY3Tk8ma7wuzgaf6BP/N9Z3L3muARGDxSeD0T6ty/7GCf9ny9GMVCwiMwMbOkVYT 8EMFkycckNtogrkpp72UFGm3Hv9nxJeXwRqpHCaFHQGQdqTRO7psFcw9U/yD91SEkM/u xIvcempfeZ1hIxRhpkXB+j52m3Q9EmM0MRhHW8vdZrif+ymeTIJzLFqzoJwd/YioTWSC xG5pf03kT5iE7cjt2BONKMmhAhI9/cdbUKp9YIK6PpbYd7PjJ4sXA5YwgbcRUAsRrcd+ WznQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmx.net header.s=badeba3b8450 header.b=KZIaKdas; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmx.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r4si33236300edp.476.2021.07.23.19.30.16; Fri, 23 Jul 2021 19:30:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmx.net header.s=badeba3b8450 header.b=KZIaKdas; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmx.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233714AbhGXBpd (ORCPT + 99 others); Fri, 23 Jul 2021 21:45:33 -0400 Received: from mout.gmx.net ([212.227.15.15]:48353 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232673AbhGXBpd (ORCPT ); Fri, 23 Jul 2021 21:45:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1627093554; bh=AFkV+M+SyHVZchqQCS2cy0kQDWGwE0JXTTKM4rpGYms=; h=X-UI-Sender-Class:Subject:From:To:Cc:Date:In-Reply-To:References; b=KZIaKdasGRQ5eWMBYYRMaKzSMR2xqluymggyv4S+zt52yL9BtJN6khx1kGDK1ZJwA pgfzxQohRglGcO3RBAzlQUhp61m5hIrK9ZPTUsCeSbg4S1g3dqLfZVlw7Vh1shylxl p8baygdJxL0GX0uG+bIOYgFGBsg0aUsEZYxbwDZ4= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from homer.fritz.box ([185.221.151.88]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M2f9h-1m5Bgj29CJ-004FK0; Sat, 24 Jul 2021 04:25:54 +0200 Message-ID: <23b626c719b6b269fc30e29041b8db3b4f8b60f8.camel@gmx.de> Subject: Re: [rfc/patch] mm/slub: restore/expand unfreeze_partials() local exclusion scope From: Mike Galbraith To: Vlastimil Babka , Thomas Gleixner , LKML Cc: linux-rt-users@vger.kernel.org, Mel Gorman , Sebastian Andrzej Siewior Date: Sat, 24 Jul 2021 04:25:53 +0200 In-Reply-To: <5be1a703-9a0a-4115-1d69-634e5e8ecefd@suse.cz> References: <87tul5p2fa.ffs@nanos.tec.linutronix.de> <8c0e0c486056b5185b58998f2cce62619ed3f05c.camel@gmx.de> <878s2fnv79.ffs@nanos.tec.linutronix.de> <6c0e20dd84084036d5068e445746c3ed7e82ec4b.camel@gmx.de> <7431ceb9761c566cf2d1f6f263247acd8d38c4b5.camel@gmx.de> <240f104fc6757d8c38fa01342511eda931632d5a.camel@gmx.de> <69da2ecd-a797-e264-fbfa-13108dc7a573@suse.cz> <84a7bd02cf109c6a5a8c7cc2bfc2898cb98270aa.camel@gmx.de> <5be1a703-9a0a-4115-1d69-634e5e8ecefd@suse.cz> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.40.2 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:dk8cVrm+FElyoBOOigtAlq8wt3wvkCNm3SZ3zWpIdhbApx2MoVJ FcA9U/YpQqfFk08N+FWkhRFZu1pPUKVNgq3FQ6pugxGJE517eFdfyn/7SHUteHCGBirT6Pe VTNlc8cRDdJJoQgiEcRyaC3D/vph0/B5u/jpfHxW70XQAgY7BeE21Gv5Ya5yhuxeA0g8YJg zjCE6W3ITu2EAl+LsT8gg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:d6U6TS+KbBs=:yaSSueQvPDlgxqTJ1uxvzj PAdPC/d+EbZeuEGNRHtfuxR4Oqj+r9Z/qXwGvdrrbPJcOynCk4VRNfNMT8DntBAS4Mh7OcHc9 WpCmrf9SxiWiOif6Q+vXpafmRSYe8pa8QDYYjj62VvUahr4T6t4gv7IZ4AChi1BsKyunYQhW/ nX38zVna+ePlhdttU09l0que0Ade0N8KeS9P8JqSrRJXFT8pRIa6LicnYppS2OJz6fguFMXsM R3HHeiW7jhC6XRDliBEavwO1EACdnVeEYUFLb2u9sO1m0mK3/1bXxs0DCGwDq209M4eyWAqf5 gIBSoOcTA0TiL0wfkbJ837XBpNi8iptGEjntpIiArUSASJeBEsrM3hoEF43JBFfP/ZHRDacDD eWMBJWafiPsHxRYaHxqGzuPbkn9dh725N3gqMJe0Uy3fT9xtvOkApgt0l5IpJ4SNQLQwCs2F+ PUUVp/CskX1E94wuAcBSYDH3J93Fp4b/4Fm+HSqskr63wCN/hJcX8YzoWA4NiG9DDPPJUiulH t8LryCZHZ9WPoPniApiGarPBwsKggUkD2z4bagSsIJHHEAMdWbupP+1z04xcPhoSR4aheSIGw ZkaKI+PAz2RqTrWbrxK6Wfmw7Zy3R54WzLMihobQs/a3zri0SwsUL8m0ExS7OBcM83Rmrlvcf UjQr0DQ0aPjnNY9bzxPECpyzTweyAQthvBGQ5gb3JRk63PIVfhoYYoTDoHBPIEk59T5AYgap/ Q5vNL5d29EDvwfxjt9fg2lNc8jrGENFEDpBOgYRNYGY9QuMQHyhvlyhcrsaGcpptYAKKdKikz SfLkD12K/OGVQ8hob6G3l3doenlUbrfLol5sphHwYNRjJY4+gyvjYPs7xR7/S5SxXvE+FVP5+ cZ+eXOwsO7O5zxeyTklNtgTOWrXcdVMKwquJ4Wz0khkdMkxG2yoTcsDa7Mn/agmOxBfTJpDs0 JiCkm4ExGe8FdNfaJhqTS4mig6Gfyn11D18KEDNDiq6hhdeBUc2ik3XoxDgPl3zWn4ce96A+3 3O54E1sfKlEiQLXWCQLd4nBC49EHHe1Zt23leTNvk7JfYoyJ5r0G3bs6UcS496AJKmu8mOjNm /ew3gvNhnVP2YIEeRR4MzUo9KdO0Wek412R Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 2021-07-24 at 00:39 +0200, Vlastimil Babka wrote: > On 7/21/21 11:33 AM, Mike Galbraith wrote: > > On Wed, 2021-07-21 at 10:44 +0200, Vlastimil Babka wrote: > > > > > > So this doesn't look like our put_cpu_partial() preempted a > > > __slab_alloc() on the same cpu, right? > > > > No, likely it was the one preempted by someone long gone, but we'll > > never know without setting a trap. > > > > > BTW did my ugly patch work? > > > > Nope.=C2=A0 I guess you missed my reporting it to have been a -ENOBOOT= , and > > Indeed, I misunderstood it as you talking about your patch. > > > that cutting it in half, ie snagging only __slab_free() does boot, and > > seems to cure all of the RT fireworks. > > OK, so depending on drain=3D1 makes this apply only to put_cpu_partial() > called from __slab_free and not get_partial_node(). One notable > difference is that in __slab_free we don't have n->list_lock locked and > in get_partial_node() we do. I guess in case your list_lock is made raw > again by another patch, that explains a local_lock can't nest under it. > If not, then I would expect this to work (I don't think they ever nest > in the opposite order, also lockdep should tell us instead of > -ENOBOOT?), but might be missing something... RT used to convert list_lock to raw_spinlock_t, but no longer does. Whatever is going on, box does not emit a single sign of life with the full patch. > I'd rather not nest those locks in any case. I just need to convince > myself that the scenario the half-fix fixes is indeed the only one > that's needed and we're not leaving there other races that are just > harder to trigger... Yup. I can only state with confidence that the trouble I was able to easily reproduce was fixed up by serializing __slab_free(). Hopefully you'll find that's the only hole in need of plugging. -Mike