Received: by 2002:a05:6a10:8395:0:0:0:0 with SMTP id n21csp644528pxh; Wed, 10 Nov 2021 07:19:35 -0800 (PST) X-Google-Smtp-Source: ABdhPJxZ2TwGRX8MofRoO/t+6snXVBVxk88UP31bszRgXNsly8ooieLRbyRvY1ij5s2zm5ZiqSh3 X-Received: by 2002:a17:906:7632:: with SMTP id c18mr487682ejn.104.1636557575705; Wed, 10 Nov 2021 07:19:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1636557575; cv=none; d=google.com; s=arc-20160816; b=a+DV0nFxj5a/Gxg69znWQ1vc7Sp4x5ShWEybJlSFgHNO5VKU/sMhCshrZSNN3e2Gzx JV5wVsmeXPemMoT/yYumrfCUAYO5xDI6gLWw636i7K9oF8UlXXBVMNsc5FDQLxwQhHO+ flfEMpjeyPC4Iov/xLpPrGIVYJMmMVWtcNjXwmWqfd1xiOf7khMTSpLiPSwute/8IhC0 sq5Nl5y9sNjBQbNObcJUC6RX10ClbeunCDHL6nNW7LQhIbirmLtLzPz/yboVwA9iOarW +3QVVlB4QtLHrgU+NiQJdR2PerzxhqICljCF9oq9Dev2xJl0/652IYIS8LrXyCYQ/6hE Mz+g== 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=qhJM/MLfTV/z8SAypDrnIhxhC1SIB1hGJ/onS/dmr7c=; b=rD3xG9N1d1bdvaMQPu6QobHyv8y8Wh8j54j/KsfYfwh7mT5t/4EbJ2iQIa1FfvnCb0 pGipBNAfJz5HaUh2V+I/fGrKahVEfD1f6IhMfGAnbUW2Woj9S+lz5QeFtg+VWFHPRLcN 48JxGnlbw+L+zt79IlDIWAxw1ZRnsKR5d4SJgIUozrhnHuCQ2hkqDWzB2b06SDhYAu6H K4ZcnVVvmi010ZlaGcpM8k+XcXuMlF963bKgNHXPDJ95kDWgUOnUuuuIgRHyEaH4UlM0 PunJgxtMlgF1EGKJjNHdt24wxH7Aooa7wf66Oop7EkLEc1TJG6mfxDHTzgglfUR1Bk1b nJKg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=UXx5qFQS; 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z23si143460edm.184.2021.11.10.07.19.08; Wed, 10 Nov 2021 07:19:35 -0800 (PST) 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=@google.com header.s=20210112 header.b=UXx5qFQS; 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232419AbhKJPT3 (ORCPT + 99 others); Wed, 10 Nov 2021 10:19:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53358 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232186AbhKJPT3 (ORCPT ); Wed, 10 Nov 2021 10:19:29 -0500 Received: from mail-oi1-x22e.google.com (mail-oi1-x22e.google.com [IPv6:2607:f8b0:4864:20::22e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A1E5BC061764 for ; Wed, 10 Nov 2021 07:16:41 -0800 (PST) Received: by mail-oi1-x22e.google.com with SMTP id be32so5753357oib.11 for ; Wed, 10 Nov 2021 07:16:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=qhJM/MLfTV/z8SAypDrnIhxhC1SIB1hGJ/onS/dmr7c=; b=UXx5qFQSpDSas+KYcgzvzVRUTV2zv6TB9J/xZToRx+zlV2QWoSMGY/6NSprCwy/bin SansktddX4FuncJFHojBZpxvscdAHgwq+KlMLCScNoGS6mNJSdlG8FqLdS6RL6xU+h+D Iti+gYgW7Z/0rGDkZdxj0ncpRbtoR3TVahrOre1SVjMej7qK3bZSH2OcusaAmmQ9LaeM QsibTTXZj5OOSr1X0Y8CT8m1RgXKbUEk0mNSrG3gWgOsO6lNZDcJ2l3PVVOCC3zv+L/9 0KdGr86gdK6YIEmqUw4jqP8mcQzM4Vcy2eLVOo0GBnb2zFmBt7WpVQh/PUt6mMBLb/XO DF2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=qhJM/MLfTV/z8SAypDrnIhxhC1SIB1hGJ/onS/dmr7c=; b=yZBcnFxYb0Bc9jfL0nOX1ZbBORwlWxe0jJ1iP1uivVxEBZKEXUwtw5mjl6ncBzg8Jr GnoLgrLTwbKOY8lcUw+aOi+Cm6/X8TIEYcGKHHMlRce6Z+mr/GNLJiV5Y4xRYL4gpu5I rkueQSB1Ik0yUiwJPo/1Ad0tqZhmp6gHGDVpodjroT91Z7ZfzM34mByf49o3JO9Foabd k7VBULNDEyMK99MkQBupvyb3ldjUWiMBKyBc/kKtIYecfH4JSY1p67OSd4Y1KPgPTZmu T6SlaJ3vzkCoKrGkQFEkif1x0eDgokh/n9VOc0kBZbjJl/V8G5KvIpp5wEELy1t5lFXV IfIg== X-Gm-Message-State: AOAM533hhjqEm2n8Nqw3Lug6VYsjRtN/eWoLvJICwLDpdOq0J0uqcUQi lMemxCjD9D2t7inCIa/7RLjz6eE8i7W6oLegJrcycw== X-Received: by 2002:a05:6808:1903:: with SMTP id bf3mr2331029oib.7.1636557400865; Wed, 10 Nov 2021 07:16:40 -0800 (PST) MIME-Version: 1.0 References: <20211109151057.3489223-1-valentin.schneider@arm.com> <20211110011738.GD288354@lothringen> <87h7cks16n.mognet@arm.com> <87bl2srrvq.mognet@arm.com> In-Reply-To: From: Marco Elver Date: Wed, 10 Nov 2021 16:16:29 +0100 Message-ID: Subject: Re: [PATCH] sched: Split preemption model selection between DYNAMIC & !DYNAMIC To: Valentin Schneider Cc: Mike Galbraith , Frederic Weisbecker , linux-kernel@vger.kernel.org, Peter Zijlstra , Ingo Molnar Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 10 Nov 2021 at 16:03, Marco Elver wrote: [...] > And the kcsan_test.c change can be reverted, I think it's broken > either way now, because it wants the dynamic state (the test still > works in most configs, so fixing this isn't super urgent). Similarly > for kernel/trace/trace.c, which appears mainly cosmetic. So I'd defer > changing these until there are real helpers to get the true preemption > behaviour of the running system. I just realised that in both these cases the original version is less broken than the below, because the non-suffixed CONFIG_PREEMPT* variables now denote the dynamic default. So if someone doesn't use 'preempt=' at boot, the original code will actually do the right thing. > > diff --git a/kernel/kcsan/kcsan_test.c b/kernel/kcsan/kcsan_test.c > > index dc55fd5a36fc..845b17cf7811 100644 > > --- a/kernel/kcsan/kcsan_test.c > > +++ b/kernel/kcsan/kcsan_test.c > > @@ -1005,13 +1005,13 @@ static const void *nthreads_gen_params(const void *prev, char *desc) > > else > > nthreads *= 2; > > > > - if (!IS_ENABLED(CONFIG_PREEMPT) || !IS_ENABLED(CONFIG_KCSAN_INTERRUPT_WATCHER)) { > > + if (!IS_ENABLED(CONFIG_PREEMPTION) || !IS_ENABLED(CONFIG_KCSAN_INTERRUPT_WATCHER)) { > > /* > > * Without any preemption, keep 2 CPUs free for other tasks, one > > * of which is the main test case function checking for > > * completion or failure. > > */ > > - const long min_unused_cpus = IS_ENABLED(CONFIG_PREEMPT_NONE) ? 2 : 0; > > + const long min_unused_cpus = IS_ENABLED(CONFIG_PREEMPT_NONE_BUILD) ? 2 : 0; > > const long min_required_cpus = 2 + min_unused_cpus; > > > > if (num_online_cpus() < min_required_cpus) { > > diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c > > index 7896d30d90f7..3b3226ffbafa 100644 > > --- a/kernel/trace/trace.c > > +++ b/kernel/trace/trace.c > > @@ -4271,11 +4271,11 @@ print_trace_header(struct seq_file *m, struct trace_iterator *iter) > > entries, > > total, > > buf->cpu, > > -#if defined(CONFIG_PREEMPT_NONE) > > +#if defined(CONFIG_PREEMPT_NONE_BUILD) > > "server", > > -#elif defined(CONFIG_PREEMPT_VOLUNTARY) > > +#elif defined(CONFIG_PREEMPT_VOLUNTARY_BUILD) > > "desktop", > > -#elif defined(CONFIG_PREEMPT) > > +#elif defined(CONFIG_PREEMPT_BUILD) > > "preempt", > > #elif defined(CONFIG_PREEMPT_RT) > > "preempt_rt",