Re: [PATCH] mm: use in_atomic() in print_vma_addr()

From: Michal Hocko
Date: Thu Nov 02 2017 - 03:57:51 EST


On Thu 02-11-17 05:38:33, Yang Shi wrote:
> commit 3e51f3c4004c9b01f66da03214a3e206f5ed627b
> ("sched/preempt: Remove PREEMPT_ACTIVE unmasking off in_atomic()") makes
> in_atomic() just check the preempt count, so it is not necessary to use
> preempt_count() in print_vma_addr() any more. Replace preempt_count() to
> in_atomic() which is a generic API for checking atomic context.

But why? Is there some general work to get rid of the direct preempt_count
usage outside of the generic API?

> Signed-off-by: Yang Shi <yang.s@xxxxxxxxxxxxxxx>
> ---
> mm/memory.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/memory.c b/mm/memory.c
> index a728bed..19b684e 100644
> --- a/mm/memory.c
> +++ b/mm/memory.c
> @@ -4460,7 +4460,7 @@ void print_vma_addr(char *prefix, unsigned long ip)
> * Do not print if we are in atomic
> * contexts (in exception stacks, etc.):
> */
> - if (preempt_count())
> + if (in_atomic())
> return;
>
> down_read(&mm->mmap_sem);
> --
> 1.8.3.1

--
Michal Hocko
SUSE Labs