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 <[email protected]> > --- > 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

