Received: by 2002:a05:7412:3784:b0:e2:908c:2ebd with SMTP id jk4csp1056454rdb; Sun, 1 Oct 2023 18:34:55 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFSNhgRx6Wdeqs320H3tMbBlj6mGF2dTu+P72U614oT5H5yN6egYRHDvDl9sy+RZzdKCudn X-Received: by 2002:a67:e995:0:b0:452:6fc1:a3e5 with SMTP id b21-20020a67e995000000b004526fc1a3e5mr7070276vso.1.1696210494857; Sun, 01 Oct 2023 18:34:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696210494; cv=none; d=google.com; s=arc-20160816; b=iQSOgJwYFv9LH7eZI+OJ+USEvh8/CdYjLmrJE/binhcwQvmomXS9I5b9mdqaggdpQr Aaa2DCf+zrdtQZPZwE/6eQsjAL7J4ECD6W48qZvutIyCp1iDRs55IMo15+V3ORbTod79 1VL3E/eVsJOXlUtPF9cXR8LDPr15oK8sP+aAdRC9KV/y8jJMhg3L3v35YAdUCdw5brD0 a+ftEkOK8PiI6qMhsLu5CMQIUU/zI/lbi2Ji/uBh8zE2Vuv7857aIgStCJ7ehEi9ljbV z94XIjuKlWlk6VO+nHqmjg5e1z9zho8ygMKXLYn7jghZw2uu2i8gVLLJ1m4JZEP/IZhG OMew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=4UIa9Ejjfrtgzd3sj6bMjsMzc6hS9g1BCxnyrZfaWR0=; fh=D/2WpD/FTfktLra+44nV6aoAOzKjvabgolyn1E2WqLA=; b=yvb9MpsEprYytcXKFXLiX5t6/YitSlg4U7u9xcJMVafQ8XrmE2yraxWgMqrGwq0YDW s60L4nb5cu/GD7HVDa6JNAfyqBwEwpvy6TamnNLVHBvuUcBHaiWFtxV5NXCVXdDGkC1P AvT4hiNjnDCymSxfi9PkeXqZhbmMFxhhPemBjNNXoWHTiPrRcm6nwUHhFt7SBBH9tlU/ dHsAPZQODXfzoJdnqZe6fE6uPXVkBKIbr55chZ+5IMtyf5TsJgOttlg/NdTdwp62YsZ2 jECD8WV66QcDet8lZGbiZ81pomXaQxIVRAwT0oNInMF37DgX9k3iyvY4xJSXcICgoXaV oXsg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=google header.b=YafTmrYb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id s1-20020a63dc01000000b0056fed6fa634si26082997pgg.433.2023.10.01.18.34.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 Oct 2023 18:34:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=google header.b=YafTmrYb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id ACE5D8038FAD; Sun, 1 Oct 2023 13:47:14 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235355AbjJAUad (ORCPT + 99 others); Sun, 1 Oct 2023 16:30:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49194 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235346AbjJAUac (ORCPT ); Sun, 1 Oct 2023 16:30:32 -0400 Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D4FE6BD for ; Sun, 1 Oct 2023 13:30:25 -0700 (PDT) Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-9b1ebc80d0aso1873794066b.0 for ; Sun, 01 Oct 2023 13:30:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1696192224; x=1696797024; darn=vger.kernel.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=4UIa9Ejjfrtgzd3sj6bMjsMzc6hS9g1BCxnyrZfaWR0=; b=YafTmrYb6wsEwnI8NEKa9ohTMghXmZGR88kn5EVOfXJAzB4zCQSCtcscKtDRw6GQSX ImNS5wvLoBMiS0juZldQvA7NpBIVCiYdHWdtOeo3IcFAKxKTQaiHMft+tCgssBafg5iD gmV0Rb/inl5R2jfKR+i1GXAHL16nZQ5gGxF4o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696192224; x=1696797024; 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=4UIa9Ejjfrtgzd3sj6bMjsMzc6hS9g1BCxnyrZfaWR0=; b=UJ2rIF+ZoB2+BgYP+dWceLN02R9Df29cEgSPir/hV6UrWSMJ+/ibNLbrzNVFyuztMa K8KJ67fuuSIeR46zGKkM3cT4dbogu2jnLOy+fqcmmqKYXKyg7ac3c3d/adXxVit+jWrh k0NQjqAu70FLdf0sSJAghCgTSxHaVTbye2lbu29w2VJVS3mR7FiZtXhuNiqkYfm1OOv/ iUCqPOL7d9m0eVohBL3kITk8Hm0CUTLPLrlMIzmuIIzBR6AvoZW7ET2C0WYwhbjZc8K9 Ab1k9EJZZ1YlJe6v4wx7mcG0qgUxuRZezzRAP6bs8vrTfSC12W+LLR09ONjyMzH7lomp e0qw== X-Gm-Message-State: AOJu0YxWfU0u1Dws1kjF8LkfWGUXMIvrETgPsYBMiXjVf0dn6x8Ieb9G lZRZTWmBJv3dKbRF6TZVrfVwGxGUI2Sx1nNmWenzPQ== X-Received: by 2002:a17:906:74ca:b0:9b2:94a8:df5 with SMTP id z10-20020a17090674ca00b009b294a80df5mr8799495ejl.35.1696192223876; Sun, 01 Oct 2023 13:30:23 -0700 (PDT) Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com. [209.85.221.42]) by smtp.gmail.com with ESMTPSA id p3-20020a17090635c300b0098951bb4dc3sm15619739ejb.184.2023.10.01.13.30.23 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 01 Oct 2023 13:30:23 -0700 (PDT) Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-31427ddd3fbso14496202f8f.0 for ; Sun, 01 Oct 2023 13:30:23 -0700 (PDT) X-Received: by 2002:adf:ec03:0:b0:31f:e1b4:5846 with SMTP id x3-20020adfec03000000b0031fe1b45846mr8996993wrn.53.1696192223123; Sun, 01 Oct 2023 13:30:23 -0700 (PDT) MIME-Version: 1.0 References: <20231001131620.112484-1-ubizjak@gmail.com> In-Reply-To: From: Linus Torvalds Date: Sun, 1 Oct 2023 13:30:05 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC PATCH 0/4] x86/percpu: Use segment qualifiers To: Uros Bizjak Cc: x86@kernel.org, linux-kernel@vger.kernel.org, Andy Lutomirski , Ingo Molnar , Nadav Amit , Brian Gerst , Denys Vlasenko , "H . Peter Anvin" , Peter Zijlstra , Thomas Gleixner , Borislav Petkov , Josh Poimboeuf Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Sun, 01 Oct 2023 13:47:14 -0700 (PDT) On Sun, 1 Oct 2023 at 13:21, Linus Torvalds wrote: > > On Sun, 1 Oct 2023 at 12:53, Uros Bizjak wrote: > > > > Regarding x86 target specific code, the same functionality used for > > explicit address space is used internally to handle __thread > > qualifier. > > Ok, that's interesting, in that __thread is certainly widely used so > it will have seen testing. .. but I just checked that the __thread case *does* work with my stupid test-case, so clearly the "__thread" coverage ends up being very different from something like __seg_fs. The difference? For __thread, gcc and clang know how to get the beginning of the thread area (the equivalent of our kernel this_cpu_ptr() macro), so now the compiler knows how to turn a __thread pointer into a "normal" pointer, and can just do memcpy. But for __seg_fs and __seg_gs, the compiler doesn't know how to do that, and then ends up just flailing wildly. If the structure is small enough to be done as individual moves, both gcc and clang do ok. But anything else is just a complete shit-show. If they both errored out reliably and legibly, that would be one thing. But gcc just silently generates garbage, and clang errors out with 60+ lines of internal compiler backtrace. Linus