[PATCH v7 07/10] arm64: define TIF_POLLING_NRFLAG

Ankur Arora posted 10 patches 1 year, 3 months ago
There is a newer version of this series
[PATCH v7 07/10] arm64: define TIF_POLLING_NRFLAG
Posted by Ankur Arora 1 year, 3 months ago
From: Joao Martins <joao.m.martins@oracle.com>

Commit 842514849a61 ("arm64: Remove TIF_POLLING_NRFLAG") had removed
TIF_POLLING_NRFLAG because arm64 only supported non-polled idling via
cpu_do_idle().

To add support for polling via cpuidle-haltpoll, we want to use the
standard poll_idle() interface, which sets TIF_POLLING_NRFLAG while
polling.

Reuse the same bit to define TIF_POLLING_NRFLAG.

Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
Signed-off-by: Mihai Carabas <mihai.carabas@oracle.com>
Reviewed-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Ankur Arora <ankur.a.arora@oracle.com>
---
 arch/arm64/include/asm/thread_info.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/include/asm/thread_info.h b/arch/arm64/include/asm/thread_info.h
index e72a3bf9e563..23ff72168e48 100644
--- a/arch/arm64/include/asm/thread_info.h
+++ b/arch/arm64/include/asm/thread_info.h
@@ -69,6 +69,7 @@ void arch_setup_new_exec(void);
 #define TIF_SYSCALL_TRACEPOINT	10	/* syscall tracepoint for ftrace */
 #define TIF_SECCOMP		11	/* syscall secure computing */
 #define TIF_SYSCALL_EMU		12	/* syscall emulation active */
+#define TIF_POLLING_NRFLAG	16	/* set while polling in poll_idle() */
 #define TIF_MEMDIE		18	/* is terminating due to OOM killer */
 #define TIF_FREEZE		19
 #define TIF_RESTORE_SIGMASK	20
@@ -91,6 +92,7 @@ void arch_setup_new_exec(void);
 #define _TIF_SYSCALL_TRACEPOINT	(1 << TIF_SYSCALL_TRACEPOINT)
 #define _TIF_SECCOMP		(1 << TIF_SECCOMP)
 #define _TIF_SYSCALL_EMU	(1 << TIF_SYSCALL_EMU)
+#define _TIF_POLLING_NRFLAG	(1 << TIF_POLLING_NRFLAG)
 #define _TIF_UPROBE		(1 << TIF_UPROBE)
 #define _TIF_SINGLESTEP		(1 << TIF_SINGLESTEP)
 #define _TIF_32BIT		(1 << TIF_32BIT)
-- 
2.43.5
Re: [PATCH v7 07/10] arm64: define TIF_POLLING_NRFLAG
Posted by Will Deacon 1 year, 3 months ago
On Fri, Aug 30, 2024 at 03:28:41PM -0700, Ankur Arora wrote:
> From: Joao Martins <joao.m.martins@oracle.com>
> 
> Commit 842514849a61 ("arm64: Remove TIF_POLLING_NRFLAG") had removed
> TIF_POLLING_NRFLAG because arm64 only supported non-polled idling via
> cpu_do_idle().
> 
> To add support for polling via cpuidle-haltpoll, we want to use the
> standard poll_idle() interface, which sets TIF_POLLING_NRFLAG while
> polling.
> 
> Reuse the same bit to define TIF_POLLING_NRFLAG.
> 
> Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
> Signed-off-by: Mihai Carabas <mihai.carabas@oracle.com>
> Reviewed-by: Christoph Lameter <cl@linux.com>
> Signed-off-by: Ankur Arora <ankur.a.arora@oracle.com>
> ---
>  arch/arm64/include/asm/thread_info.h | 2 ++
>  1 file changed, 2 insertions(+)

Acked-by: Will Deacon <will@kernel.org>

Will
Re: [PATCH v7 07/10] arm64: define TIF_POLLING_NRFLAG
Posted by Ankur Arora 1 year, 3 months ago
Will Deacon <will@kernel.org> writes:

> On Fri, Aug 30, 2024 at 03:28:41PM -0700, Ankur Arora wrote:
>> From: Joao Martins <joao.m.martins@oracle.com>
>>
>> Commit 842514849a61 ("arm64: Remove TIF_POLLING_NRFLAG") had removed
>> TIF_POLLING_NRFLAG because arm64 only supported non-polled idling via
>> cpu_do_idle().
>>
>> To add support for polling via cpuidle-haltpoll, we want to use the
>> standard poll_idle() interface, which sets TIF_POLLING_NRFLAG while
>> polling.
>>
>> Reuse the same bit to define TIF_POLLING_NRFLAG.
>>
>> Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
>> Signed-off-by: Mihai Carabas <mihai.carabas@oracle.com>
>> Reviewed-by: Christoph Lameter <cl@linux.com>
>> Signed-off-by: Ankur Arora <ankur.a.arora@oracle.com>
>> ---
>>  arch/arm64/include/asm/thread_info.h | 2 ++
>>  1 file changed, 2 insertions(+)
>
> Acked-by: Will Deacon <will@kernel.org>

Thanks!

--
ankur