Re: [PATCH] core_pattern: add CPU specifier

From: Oleg Nesterov
Date: Sun Sep 04 2022 - 15:39:01 EST


On 09/04, Andrew Morton wrote:
>
> On Sat, 3 Sep 2022 08:43:30 +0200 Oleksandr Natalenko <oleksandr@xxxxxxxxxx> wrote:
>
> > @@ -535,6 +539,7 @@ void do_coredump(const kernel_siginfo_t *siginfo)
> > */
> > .mm_flags = mm->flags,
> > .vma_meta = NULL,
> > + .cpu = raw_smp_processor_id(),
> > };
>
> Why use the "raw_" function here?

To avoid check_preemption_disabled() from debug_smp_processor_id().

We do not disable preemption because this is pointless, this is the
"racy snapshot" anyway. The coredumping task can migrate to another
CPU even before get_signal/do_coredump, right after exit-to-user
path enables irqs.

Oleg.