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 CEAFAC25B74 for ; Mon, 27 May 2024 17:37:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F2C3C6B0092; Mon, 27 May 2024 13:37:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ED9996B0095; Mon, 27 May 2024 13:37:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DA1AE6B0096; Mon, 27 May 2024 13:37:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id B89CE6B0092 for ; Mon, 27 May 2024 13:37:09 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 3766C160A82 for ; Mon, 27 May 2024 17:37:09 +0000 (UTC) X-FDA: 82164881778.03.9FE4A43 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by imf27.hostedemail.com (Postfix) with ESMTP id 57F154000C for ; Mon, 27 May 2024 17:37:07 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=layalina-io.20230601.gappssmtp.com header.s=20230601 header.b=0FelxqU9; spf=pass (imf27.hostedemail.com: domain of qyousef@layalina.io designates 209.85.221.52 as permitted sender) smtp.mailfrom=qyousef@layalina.io; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1716831427; 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=hr18hpneNHT7XlkoThFD4j7gue3uN8Une2pu0eWpvNk=; b=43vT6hMU+7sID9VMs1zhen5diTO9NNQXmDNz8EXrzIcLRqSjyPlyFdRjG/lCq8vmJgjR3/ zM8JGgaL+P+cTQ4mnCVefPfSC/UtNR1lUACbUe1X7lStFV8Bw5qE6H2Pc2RVgvOyAMpOpz NfnVFWdLzPlzMrqRk5S0OKDtMOOMdxg= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=layalina-io.20230601.gappssmtp.com header.s=20230601 header.b=0FelxqU9; spf=pass (imf27.hostedemail.com: domain of qyousef@layalina.io designates 209.85.221.52 as permitted sender) smtp.mailfrom=qyousef@layalina.io; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1716831427; a=rsa-sha256; cv=none; b=tg5WbBiK3MRKS1+QCHUL+qQKRxdXtorQMFADfy8Zet4M6JEnJp8kJdT6syrtOPKf5o1DhP 0GCT6zaPMp3f4TnOIjDspKqnzJ5fXdsHfT3PIt1SoXvPHhFkVLptOPeKB+2LHneaLwNG6L opUpmmNrMy/+DqePHf2AU3gjMU1H6Hk= Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-35502a992c9so4293846f8f.3 for ; Mon, 27 May 2024 10:37:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=layalina-io.20230601.gappssmtp.com; s=20230601; t=1716831425; x=1717436225; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=hr18hpneNHT7XlkoThFD4j7gue3uN8Une2pu0eWpvNk=; b=0FelxqU9qQLATwzPU+bBEf9py/JW3X3g65Jz4k1OdeXqmnW6xGFD7GX6/9Cxwvy2PV MX+MlYfHsmRmZaYXJ4OnP/lPqNPjnzO/RfrHfCeTYaibqu588A+TqDqTYHrXEct5rGsz XEtmZDsWDZxqlqdY4BPD64AN4OPebAGLP4BCiwmDP3m/UbFsbKeVrGxPxWDv9RU6LhdN cir9Twu6VZ125z88nDYTEKs/nDaaGg4uVelK50fOZ/UdL0jTZjRB5AKys+FkCpYyaJzn lcYeRbqxW8LlpSAjFO0yppL4izm1HSb4GO1dT7BGlDtyD9dOy52VMAa5BOMsxtaz5AKL BCjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716831425; x=1717436225; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=hr18hpneNHT7XlkoThFD4j7gue3uN8Une2pu0eWpvNk=; b=po7hopkXZtA1AWmmrIz+13DghWR57uE5a9mJWULbWa43DYlHGQX3v1XwVosobFVKZI pOeUe4K2wyuXS5cOIJBBoNT27UO5s/luNGDSXnJ7esc+BOmwlRsUaUqhPEzuFoCh2Fj8 3pgkgZ8HXyKu55j1+QmtbC34wWVlEgecMSymx9NhSxXGfosAeuqOqwa6m9iDi04jA4xP IBJJu6sDhvtNmJYXU8uLt6QAKf23+2DZyKa7QSyP2RoVdU/MneRALSCXm2Lc9fL+AtCk yPOTez1ylrjkqJLRD3tFOm0CaWsnAlVW+TPgO3yuwMplQ3bkGT95BI6FpDlkdKhYmZh3 q/uQ== X-Forwarded-Encrypted: i=1; AJvYcCV9fXjQhDvMJ2G0nX9KnRWRw0xbDSI4ylviVSl416zf/G7+JjlA3xWi7V264aDWEfBK/FITutS8B4RMiBjyBQTF1ic= X-Gm-Message-State: AOJu0YyvUqgvO11lxKG6UTlCk/46OcDhY82JQ2KdCed/9F6pR5tzFdKu ktW8ESdY4erBTj91bue7ra/0HXBmuaO/Nxw4jtCBArL92TUqMBhZ6gf60M5h0mB2BLCOs3YpLDu Y X-Google-Smtp-Source: AGHT+IFHCdjZfBLADJgWvonL4PKkMzOE4//76Gn2zYKCwqPkEaCY0W71oc+vzFaisXznPhCsroiviQ== X-Received: by 2002:a05:6000:1001:b0:354:db70:3815 with SMTP id ffacd0b85a97d-355270567abmr9685956f8f.7.1716831425563; Mon, 27 May 2024 10:37:05 -0700 (PDT) Received: from airbuntu (host81-157-90-255.range81-157.btcentralplus.com. [81.157.90.255]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3557a1c9530sm9512807f8f.81.2024.05.27.10.37.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 May 2024 10:37:05 -0700 (PDT) Date: Mon, 27 May 2024 18:37:03 +0100 From: Qais Yousef To: Steven Rostedt Cc: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Daniel Bristot de Oliveira , Thomas Gleixner , Sebastian Andrzej Siewior , Alexander Viro , Christian Brauner , Andrew Morton , Jens Axboe , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-mm@kvack.org, Phil Auld Subject: Re: [PATCH v2] sched/rt: Clean up usage of rt_task() Message-ID: <20240527173703.52wsstp5dnczaxrv@airbuntu> References: <20240515220536.823145-1-qyousef@layalina.io> <20240523114540.2856c109@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20240523114540.2856c109@gandalf.local.home> X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 57F154000C X-Stat-Signature: fky94tcx6yf1wg8z6wqixm763ifhiwub X-Rspam-User: X-HE-Tag: 1716831427-47589 X-HE-Meta: U2FsdGVkX19CLaZ+M6jkIoNVnQ2bKj7QfKUbAQB1xmvYpybfBL3NsFuRs62vN7Ru7dZr4xFac8o51CQ3xgDhZdRxh0DMMDNiOj7Yd76yGHuuTbjts4jJMxWtmQv6HEvTKfC2SKp1CdjNOVfmgO6tJZIzzAS2gLWJbZdipDIoZYWSWONcXw2jBqNTKFfcNhCP8IgHIm34B6pdDwoDvFHN2DuhnlmosJ8fvEi9K/MKOeIyrUjN59Y1ITxD4dlX71Zj5FOdT8dvzX2FsgtmsP07BfywY3dC/mtO1K0KWAefcRIIcn6uqtBUf0hHDKv8BoM0JC037bkhrjHJij6c6Hg3INKh8at/clJf6dLdbvYX94+EiJfBcK9ZvpgMEr0O9uYmbWoymwS7iztovU/1oAwOfSy/aTUOOhl2lebFkr9a0Zk4oDvBX9DUSOYoDIYIVzt/c5E2d+qrr4YxlpwDiC1WUOZt7qWWHh8UK+o4B9QaP1Cbb4BV3+xtFFfyTaF2IAGj0qc94x2Vq6kEjCUPt7pu+oBfGxN0mHqRl4UvIIlYRN/r+aTpWmpyCioDbwvExe34lREet0/ZckhkEYmoBm6LiB3n1isIBi/qnsBNagpianNPuyKmL0rPqyD4CrFPit/zllYi9QGV/lge+HGetLW3FWyLKGYZ5lNDQb0hq5gEOG/TcFKzhuHNSYC0oTlYOlEJkNKGfF4SxfBLzPsz5CidyBdWMJuggX6ih+sJ8RLDGpXAbNyJ56WXc5ao1J1SUQhg8qIaM+OMWY76IAYljU5gykjShPvU3AKtsGD9P0/CfK/bdifeHS5jSPxEmJeHxK8JmoXxAnyYlzctnSbG5fFowYVeMTV0b97chzD+Vbdm4o8hMJ1oxoWP+wmnREf2ezR1UKjmD9fJyaYv+dc5KePpAnkfwL6wcqH9o/DOiTsuTtLZMoBD5LSMddUlXm1gtJSnz3glisz5+hjzKvfHuuY rHxKXOxt v4ePHu88uW9MRuQEd3xB0wuWyRbenj/HJ3QZ2M7o4VsGninVPFI3QXV1QriJHj8ndzj7tNEx2D3sntSIvE+YJiZvujQofY/H7agmiM5+3ROebxWT6Ie1kzwIL0vdZ8iLpa4lXA0lFKUE3k+pIswv7xDX4+HLaWFxSV9i7O2iRUXiSuoCkrnC8GNvjZf9UJ6VAn0eIJhVS37OX9K082Cav/USIJUTOdQj0vK/xx/bLYtoK6rbLxUngM6V7xfLnNJUVYuYogGAAdgtTdhuaclYMpVCUve355jO0sPW49UUxSxfy0tJpohkYjP6aRIy2j0lwtONXxtCKr62Rj1s31lRVA+EEzjym8GHsA8VVp5joxm0iXlZbklW9qRJLJ3GM5JtZn+u0yr1IX7YWtNewYvtH00BDUGb8DuIRV0xqDkDkdG7Fr0C4oul5B0zMp42Tff7S1Be7GtEEu1TYLv/tAQGxPtti03BdVYhBkQNYWv0odMuvZBHV2lrJuGuhl1N3ljbCyBt2PA7BimUz7advopTfI7fsNXc5KLFFRtLn 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: List-Subscribe: List-Unsubscribe: On 05/23/24 11:45, Steven Rostedt wrote: > On Wed, 15 May 2024 23:05:36 +0100 > Qais Yousef wrote: > > diff --git a/include/linux/sched/deadline.h b/include/linux/sched/deadline.h > > index df3aca89d4f5..5cb88b748ad6 100644 > > --- a/include/linux/sched/deadline.h > > +++ b/include/linux/sched/deadline.h > > @@ -10,8 +10,6 @@ > > > > #include > > > > -#define MAX_DL_PRIO 0 > > - > > static inline int dl_prio(int prio) > > { > > if (unlikely(prio < MAX_DL_PRIO)) > > @@ -19,6 +17,10 @@ static inline int dl_prio(int prio) > > return 0; > > } > > > > +/* > > + * Returns true if a task has a priority that belongs to DL class. PI-boosted > > + * tasks will return true. Use dl_policy() to ignore PI-boosted tasks. > > + */ > > static inline int dl_task(struct task_struct *p) > > { > > return dl_prio(p->prio); > > diff --git a/include/linux/sched/prio.h b/include/linux/sched/prio.h > > index ab83d85e1183..6ab43b4f72f9 100644 > > --- a/include/linux/sched/prio.h > > +++ b/include/linux/sched/prio.h > > @@ -14,6 +14,7 @@ > > */ > > > > #define MAX_RT_PRIO 100 > > +#define MAX_DL_PRIO 0 > > > > #define MAX_PRIO (MAX_RT_PRIO + NICE_WIDTH) > > #define DEFAULT_PRIO (MAX_RT_PRIO + NICE_WIDTH / 2) > > diff --git a/include/linux/sched/rt.h b/include/linux/sched/rt.h > > index b2b9e6eb9683..a055dd68a77c 100644 > > --- a/include/linux/sched/rt.h > > +++ b/include/linux/sched/rt.h > > @@ -7,18 +7,43 @@ > > struct task_struct; > > > > static inline int rt_prio(int prio) > > +{ > > + if (unlikely(prio < MAX_RT_PRIO && prio >= MAX_DL_PRIO)) > > + return 1; > > + return 0; > > +} > > + > > +static inline int realtime_prio(int prio) > > { > > if (unlikely(prio < MAX_RT_PRIO)) > > return 1; > > return 0; > > } > > I'm thinking we should change the above to bool (separate patch), as > returning an int may give one the impression that it returns the actual > priority number. Having it return bool will clear that up. > > In fact, if we are touching theses functions, might as well change all of > them to bool when returning true/false. Just to make it easier to > understand what they are doing. I can add a patch on top, sure. > > > > > +/* > > + * Returns true if a task has a priority that belongs to RT class. PI-boosted > > + * tasks will return true. Use rt_policy() to ignore PI-boosted tasks. > > + */ > > static inline int rt_task(struct task_struct *p) > > { > > return rt_prio(p->prio); > > } > > > > -static inline bool task_is_realtime(struct task_struct *tsk) > > +/* > > + * Returns true if a task has a priority that belongs to RT or DL classes. > > + * PI-boosted tasks will return true. Use realtime_task_policy() to ignore > > + * PI-boosted tasks. > > + */ > > +static inline int realtime_task(struct task_struct *p) > > +{ > > + return realtime_prio(p->prio); > > +} > > + > > +/* > > + * Returns true if a task has a policy that belongs to RT or DL classes. > > + * PI-boosted tasks will return false. > > + */ > > +static inline bool realtime_task_policy(struct task_struct *tsk) > > { > > int policy = tsk->policy; > > > > > > > diff --git a/kernel/trace/trace_sched_wakeup.c b/kernel/trace/trace_sched_wakeup.c > > index 0469a04a355f..19d737742e29 100644 > > --- a/kernel/trace/trace_sched_wakeup.c > > +++ b/kernel/trace/trace_sched_wakeup.c > > @@ -545,7 +545,7 @@ probe_wakeup(void *ignore, struct task_struct *p) > > * - wakeup_dl handles tasks belonging to sched_dl class only. > > */ > > if (tracing_dl || (wakeup_dl && !dl_task(p)) || > > - (wakeup_rt && !dl_task(p) && !rt_task(p)) || > > + (wakeup_rt && !realtime_task(p)) || > > (!dl_task(p) && (p->prio >= wakeup_prio || p->prio >= current->prio))) > > return; > > > > Reviewed-by: Steven Rostedt (Google) Thanks! -- Qais Yousef > >