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 8A656C3DA7D for ; Tue, 3 Jan 2023 19:14:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B92288E0002; Tue, 3 Jan 2023 14:14:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B427A8E0001; Tue, 3 Jan 2023 14:14:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A32518E0002; Tue, 3 Jan 2023 14:14:07 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 961928E0001 for ; Tue, 3 Jan 2023 14:14:07 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 619431404C8 for ; Tue, 3 Jan 2023 19:14:07 +0000 (UTC) X-FDA: 80314438134.28.59A724D Received: from mail-vs1-f51.google.com (mail-vs1-f51.google.com [209.85.217.51]) by imf02.hostedemail.com (Postfix) with ESMTP id A56448000D for ; Tue, 3 Jan 2023 19:14:05 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=LQt5OMzt; spf=pass (imf02.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.217.51 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1672773245; a=rsa-sha256; cv=none; b=zlomBYBrpUBMQlSl/9kEiYCtMz3XCsVAcruCqnl/gzSbh3hj+smIC9Iftho6mupeggc2lK znq+SFxnnk5HZf/p6WD5KxhVdKRb5QnHXHrQVUp5Hg1HftLqDuWOS4DHF5bGFtzMj/36+4 A0Fh2uhZaa3ZVKEKUGwLuVzkMAgCsw8= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=LQt5OMzt; spf=pass (imf02.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.217.51 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672773245; 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=dfSqSd0mxRLyCP4JPwoGgPSv4V5DgFE+NWQibLY7nHY=; b=kJhkseiwY8iuDj/V25yYs04NzsMeaWr7y9feimlXpICvtxdB85fgEXGP22Lh8L9wmTCKse HY4r51Moqp6VcL6DuAdd3nw+BBOHoE8JthTwRzi5WSng/jQURXTQAYNJOBgnjIDOMOhf53 3AyVvVXT4KPetM6m/4Bv6B63K1N2jTQ= Received: by mail-vs1-f51.google.com with SMTP id i10so11096766vsr.12 for ; Tue, 03 Jan 2023 11:14:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=dfSqSd0mxRLyCP4JPwoGgPSv4V5DgFE+NWQibLY7nHY=; b=LQt5OMztUt6H+6pe/VIHwx3Jz4d08J1ZZ7gv40yLS2RfQ9FYAN2BdqaHFaDSeqruh5 UdriUa0s5l2hHmuDgCVQyqdP1mZma/3SqbLGsgMr+3W5DNoGaGK3GwMdoJI3ZUgmswPc hfRjTsp+o7b/O9CFRqovudaZXidsusavosKQY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=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=dfSqSd0mxRLyCP4JPwoGgPSv4V5DgFE+NWQibLY7nHY=; b=7ySV2J799g+9voGPKY9QHgHfAhAaOsFtYfRddg0SSbix/czuHZD12HABL83S4KfsRH gs3dTJnDypC3nKNJuP/WSbdW1ZSUFyfbvfUEEx7033cExwx4B7zHbNQUpMvunTuNZTh9 IFOJDxW0rETAIde0Ve5b70LS152JR8O2Ge3BAl5LuA8VJ8OG17I84cX9iHvQ+0sVi6VM egf8uoSVAorGNfWyNAl/dBeY4bGPSTAHvei7R8IxbrbhxRjHF7loVn173HJmUrRGmuDP BpVo7A0unZxebDIU7JH+Q/apWRcnHP1MfBCQ0XXEVd1FVOlYVd++hr8opiC85GLHar1d qwTQ== X-Gm-Message-State: AFqh2krHJyfw0g+uzIb2fJoYHpcIgNGau2mSG9UJoCWJoHXnHldJFz3C MCTyEwXwd8RLr2gzQW0HXHf/FRQLE9rgeCaR X-Google-Smtp-Source: AMrXdXt+JBp4+vKD7as8FsjRCdQriKao43nUXO6QTmzQDtZHE7FeP+YKU9OfDeGoQRgN7NRONnKPoA== X-Received: by 2002:a05:6102:242:b0:3c5:94dc:fc7c with SMTP id a2-20020a056102024200b003c594dcfc7cmr12149248vsq.1.1672773244443; Tue, 03 Jan 2023 11:14:04 -0800 (PST) Received: from mail-qt1-f177.google.com (mail-qt1-f177.google.com. [209.85.160.177]) by smtp.gmail.com with ESMTPSA id w16-20020a05620a445000b007023fc46b64sm10172754qkp.113.2023.01.03.11.14.04 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 03 Jan 2023 11:14:04 -0800 (PST) Received: by mail-qt1-f177.google.com with SMTP id s9so25301476qtx.6 for ; Tue, 03 Jan 2023 11:14:04 -0800 (PST) X-Received: by 2002:a05:620a:1379:b0:6fc:c48b:8eab with SMTP id d25-20020a05620a137900b006fcc48b8eabmr1650146qkl.216.1672772925520; Tue, 03 Jan 2023 11:08:45 -0800 (PST) MIME-Version: 1.0 References: <20221219153525.632521981@infradead.org> <20221219154119.550996611@infradead.org> In-Reply-To: From: Linus Torvalds Date: Tue, 3 Jan 2023 11:08:29 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC][PATCH 11/12] slub: Replace cmpxchg_double() To: Heiko Carstens Cc: Peter Zijlstra , corbet@lwn.net, will@kernel.org, boqun.feng@gmail.com, mark.rutland@arm.com, catalin.marinas@arm.com, dennis@kernel.org, tj@kernel.org, cl@linux.com, gor@linux.ibm.com, agordeev@linux.ibm.com, borntraeger@linux.ibm.com, svens@linux.ibm.com, Herbert Xu , davem@davemloft.net, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, joro@8bytes.org, suravee.suthikulpanit@amd.com, robin.murphy@arm.com, dwmw2@infradead.org, baolu.lu@linux.intel.com, Arnd Bergmann , penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, Andrew Morton , vbabka@suse.cz, roman.gushchin@linux.dev, 42.hyeyoo@gmail.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-s390@vger.kernel.org, linux-crypto@vger.kernel.org, iommu@lists.linux.dev, linux-arch@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: A56448000D X-Stat-Signature: a73rxsjwz1ze3e9ehpaqp9efnroubt1b X-HE-Tag: 1672773245-931413 X-HE-Meta: U2FsdGVkX1+tI+GzST6MNTLCPRzdGZV0+DUKdgLqRx7rEaBvY10K0siYlTLpdgdBXZT9UwEDXekzlRfm9GKBxK1P8Dt+NCQgO3C7+Yfz/7/GPR0bOh+eSaU22AreK2yfOrIppJ/Au0wlBWXp1gmEkQz1YU3IybmnXD4G8R2aAp0o8nrL1vVJIdUMQEMwnTbaQGNthDqQXjxAF1vsZaSWgOJKd2hbY/FzTjMr0rWZ0PrAf25C5ficRdGuyiHbzcbbXV+rkSWHteL+wfu/z3URO+R+x9yiC3ahpwbx83f/sB1d8zuQsZzHt9XNDX9S8v47GiSPDXByUWR+9SVz7L+bU6Y3fSCiGJi2EZ8I/NAj4fjItMr1E+ynzhrhSXsPqVBKRemOrS3dttaalvlTQfsbAjSZCHRyBZwE80YAq7nLV4LsmRL18w3kjCR5JbluNp14UDu2JRAmLSDMx+0Aq5tJybhBnE9wYhpZk8ITv0P+KD4Fih7vF5i6HCWYXXWfxE0YJO3QHVskYMIfnAcYtVq/XK/UAEbnn578zbyfY/OIqipugz598z+/AMzQ3kVUwq9yE3/tX615p3xonm+sry7hbFi2CcjkQCfaoLBt0NeXefQuhr+W/KEcZtdwBXFLKNiEo5TE8Wg3pP4JUslyKnkFMFuPp1BCRdVsiOpjHrVDVcu16Xa2qnfrm1y1AhK6WZNsrCrnjF6CLJ6IIof2m1nhoZNVaKh8IkQU8g029thwS3ipBw5T6quUYXtoPSpX3HHxliAAv3LBTFXylm6939KpTdk4Z1KBnvkazTW8HkpHGySIkS368uBjsEm3u2t0zsLnbMzmRiP+qjQx92z3OkrHgveoanEmvrwKcvxdwSdX4+OHbGVFhmt6XlM3TEIkVSZ2Y1QNChlcxriZCCslyEYaDkVGuae4la0foRQFq3a5jfphTu3pczKCkBbc/gp7Lz6xITLI7ktPTXE2Y8OnlYZ oGnsdCAh vr/vqpSv9oMq0+G7t5VI4vijTb+3yhOv+1i8xXsrjSa2OISTMRFND4K0NecuDFzlnX+KL4lb7G+z0wh/EwB7evinsJ3iejH1iMToYBN4ia0k9wn2SOvsTsq3qmJ8YuWcJUq99HpABb2/X4zLGLpBPuBTuRa7vzk4Lq88h+34fGJWwNxMD1bLM+5OjoOGZZUAmPBa1GN64BC3/ijT3CR59EM7KDeFey2vvCQhmzID7d4W96aOfhV2vKt8ibSU+IDw3m6iI2Z3ai7as2eDmKzo1tNCiOQxmd98Nl+JvAMv52mZ3RD0XYLNPQx4S00nBoj9MOUQIIlPOPZU2MnJ6HlGnfBE4agxlIaFUZnaKx00/9TrOZwUxlj6xFOKK5xoYa7nuDnxEgoswLSBm/Cc1XeaRE3zh9w== 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: On Tue, Jan 3, 2023 at 9:17 AM Heiko Carstens wrote: > > On Mon, Dec 19, 2022 at 04:35:36PM +0100, Peter Zijlstra wrote: > > > > Signed-off-by: Peter Zijlstra (Intel) > > --- > > include/linux/slub_def.h | 12 ++- > > mm/slab.h | 41 +++++++++++-- > > mm/slub.c | 146 ++++++++++++++++++++++++++++------------------- > > 3 files changed, 135 insertions(+), 64 deletions(-) > > Does this actually work? Just wondering since I end up with an instant > list corruption on s390. Might be endianness related, but I can't see > anything obvious at a first glance. I don't see anything that looks related to endianness, because while there is that 128-bit union member, it's always either used in full, or it's accessed as other union members. But I *do* note that this patch seems to be the only one that depends on the new this_cpu_cmpxchg() updates to make it just automatically do the right thing for a 128-bit value. And I have to admit that all those games with __pcpu_cast_128() make no sense to me. Why isn't it just using "u128" everywhere without any odd _Generic() games? I could also easily see that if the asm constraints are wrong (like the "cast pointer to (unsigned long *) instead of keeping it pointing to a 128-bit type" thing discussed earlier), then code like this: + freelist_aba_t old = { .freelist = freelist_old, .counter = tid }; + freelist_aba_t new = { .freelist = freelist_new, .counter = next_tid(tid) }; + + return this_cpu_cmpxchg(s->cpu_slab->freelist_tid.full, + old.full, new.full) == old.full; would easily make the compiler go "the second word of 'old' is never used by the asm, so I won't initialize it". But yeah, that patch is hard to read, so hard to say. Does everything leading up to it work fine? Linus