All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Ellerman <mpe@ellerman.id.au>
To: Shrikanth Hegde <sshegde@linux.ibm.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: linux-kernel@vger.kernel.org, peterz@infradead.org,
	tglx@linutronix.de, paulmck@kernel.org, mingo@kernel.org,
	juri.lelli@redhat.com, vincent.guittot@linaro.org,
	dietmar.eggemann@arm.com, rostedt@goodmis.org,
	bsegall@google.com, mgorman@suse.de, vschneid@redhat.com,
	frederic@kernel.org, efault@gmx.de
Subject: Re: [PATCH 7/7] powerpc: add support for PREEMPT_LAZY
Date: Sun, 13 Oct 2024 09:42:56 +1100	[thread overview]
Message-ID: <87o73p54en.fsf@mail.lhotse> (raw)
In-Reply-To: <9f0dcdc6-121d-48a7-8abe-b2ce7acd0cdb@linux.ibm.com>

Shrikanth Hegde <sshegde@linux.ibm.com> writes:
> On 10/10/24 23:40, Ankur Arora wrote:
>> 
>> Sebastian Andrzej Siewior <bigeasy@linutronix.de> writes:
>> 
>>> On 2024-10-09 09:54:11 [-0700], Ankur Arora wrote:
>>>> From: Shrikanth Hegde <sshegde@linux.ibm.com>
>>>>
>>>> Add PowerPC arch support for PREEMPT_LAZY by defining LAZY bits.
>> 
...
>>>> diff --git a/arch/powerpc/include/asm/thread_info.h b/arch/powerpc/include/asm/thread_info.h
>>>> index 6ebca2996f18..ae7793dae763 100644
>>>> --- a/arch/powerpc/include/asm/thread_info.h
>>>> +++ b/arch/powerpc/include/asm/thread_info.h
>>>> @@ -117,11 +117,14 @@ void arch_setup_new_exec(void);
>>>>   #endif
>>>>   #define TIF_POLLING_NRFLAG	19	/* true if poll_idle() is polling TIF_NEED_RESCHED */
>>>>   #define TIF_32BIT		20	/* 32 bit binary */
>>>> +#define TIF_NEED_RESCHED_LAZY	21	/* Lazy rescheduling */
>>>
>>> I don't see any of the bits being used in assembly anymore.
>>> If you group the _TIF_USER_WORK_MASK bits it a single 16 bit block then
>>> the compiler could issue a single andi.
>
> That's a good find. since by default powerpc uses 4 byte fixed ISA, 
> compiler would generate extra code for _TIF_USER_WORK_MASK. Looked at 
> the objdump. It indeed does.
>
> I see that value 9 isn't being used. It was last used for TIF_NOHZ which 
> is removed now. That value could be used for RESCHED_LAZY. Using that 
> value i see the code generated is similar to what we have now.
>
> +mpe

Yep, 9 looks good.

I don't think it *really* matters that it's a single andi. on modern
CPUs, but seeing as bit 9 is free we may as well use it.

cheers

      reply	other threads:[~2024-10-12 22:43 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-09 16:54 [PATCH 0/7] Lazy preemption bits Ankur Arora
2024-10-09 16:54 ` [PATCH 1/7] sched: warn for high latency with TIF_NEED_RESCHED_LAZY Ankur Arora
2024-10-10  6:37   ` Sebastian Andrzej Siewior
2024-10-10 18:19     ` Ankur Arora
2024-10-13  9:44   ` kernel test robot
2024-10-13  9:54   ` kernel test robot
2024-10-16  9:36   ` Shrikanth Hegde
2024-10-21 19:21     ` Ankur Arora
2024-10-22  5:41       ` Shrikanth Hegde
2024-10-09 16:54 ` [PATCH 2/7] rcu: limit PREEMPT_RCU configurations Ankur Arora
2024-10-09 18:01   ` Peter Zijlstra
2024-10-09 18:24     ` Paul E. McKenney
2024-10-09 20:52       ` Peter Zijlstra
2024-10-09 21:16         ` Paul E. McKenney
2024-10-10  7:58           ` Peter Zijlstra
2024-10-10 14:19             ` Paul E. McKenney
2024-10-10  6:32       ` Sebastian Andrzej Siewior
2024-10-10  8:10         ` Peter Zijlstra
2024-10-10  9:13           ` Sebastian Andrzej Siewior
2024-10-10 10:03             ` Peter Zijlstra
2024-10-10 10:26               ` Sebastian Andrzej Siewior
2024-10-10 10:44                 ` Peter Zijlstra
2024-10-10 14:29                   ` Paul E. McKenney
2024-10-11  8:18                     ` Sebastian Andrzej Siewior
2024-10-11 13:59                       ` Paul E. McKenney
2024-10-11 14:43                         ` Sebastian Andrzej Siewior
2024-10-11 15:59                           ` Paul E. McKenney
2024-10-15 11:22                             ` Sebastian Andrzej Siewior
2024-10-15 22:13                               ` Ankur Arora
2024-10-17  8:04                                 ` Sebastian Andrzej Siewior
2024-10-17 22:50                                   ` Ankur Arora
2024-10-18 17:43                                     ` Paul E. McKenney
2024-10-18 19:18                                       ` Ankur Arora
2024-10-18 23:24                                         ` Paul E. McKenney
2024-10-19  1:07                                           ` Ankur Arora
2024-10-19  4:30                                             ` Paul E. McKenney
2024-10-15 23:11                               ` Paul E. McKenney
2024-10-17  7:07                                 ` Sebastian Andrzej Siewior
2024-10-18 17:38                                   ` Paul E. McKenney
2024-10-21 11:27                                     ` Sebastian Andrzej Siewior
2024-10-21 16:48                                       ` Paul E. McKenney
2024-10-21 19:20                                         ` Ankur Arora
2024-10-22 23:49                                           ` Paul E. McKenney
2024-10-22 14:09                                         ` Sebastian Andrzej Siewior
2024-10-22 23:54                                           ` Paul E. McKenney
2024-10-23  6:58                                             ` Sebastian Andrzej Siewior
2024-10-10 17:35             ` Ankur Arora
2024-10-11  7:58               ` Sebastian Andrzej Siewior
2024-10-15 23:01                 ` Ankur Arora
2024-10-10 17:42           ` Ankur Arora
2024-10-09 16:54 ` [PATCH 3/7] rcu: fix header guard for rcu_all_qs() Ankur Arora
2024-10-10  6:41   ` Sebastian Andrzej Siewior
2024-10-10  8:11     ` Peter Zijlstra
2024-10-10 14:29       ` Paul E. McKenney
2024-10-09 16:54 ` [PATCH 4/7] rcu: handle quiescent states for PREEMPT_RCU=n, PREEMPT_COUNT=y Ankur Arora
2024-10-09 19:05   ` Ankur Arora
2024-10-10 14:37     ` Paul E. McKenney
2024-10-10 17:59       ` Ankur Arora
2024-10-10  6:50   ` Sebastian Andrzej Siewior
2024-10-10 17:56     ` Ankur Arora
2024-10-11  7:52       ` Sebastian Andrzej Siewior
2024-10-09 16:54 ` [PATCH 5/7] rcu: rename PREEMPT_AUTO to PREEMPT_LAZY Ankur Arora
2024-10-09 18:02   ` Peter Zijlstra
2024-10-09 18:52     ` Ankur Arora
2024-10-09 16:54 ` [PATCH 6/7] osnoise: handle quiescent states for PREEMPT_RCU=n, PREEMPTION=y Ankur Arora
2024-10-10  6:53   ` Sebastian Andrzej Siewior
2024-10-10 14:39     ` Paul E. McKenney
2024-10-10 17:50     ` Ankur Arora
2024-10-11  7:36       ` Sebastian Andrzej Siewior
2024-10-14 20:14         ` Ankur Arora
2024-10-09 16:54 ` [PATCH 7/7] powerpc: add support for PREEMPT_LAZY Ankur Arora
2024-10-10  7:22   ` Sebastian Andrzej Siewior
2024-10-10 18:10     ` Ankur Arora
2024-10-11 18:35       ` Shrikanth Hegde
2024-10-12 22:42         ` Michael Ellerman [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87o73p54en.fsf@mail.lhotse \
    --to=mpe@ellerman.id.au \
    --cc=ankur.a.arora@oracle.com \
    --cc=bigeasy@linutronix.de \
    --cc=bsegall@google.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=efault@gmx.de \
    --cc=frederic@kernel.org \
    --cc=juri.lelli@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mgorman@suse.de \
    --cc=mingo@kernel.org \
    --cc=paulmck@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=sshegde@linux.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=vincent.guittot@linaro.org \
    --cc=vschneid@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.