Re: [PATCH] parisc: Optimize switch_mm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2017-07-26, at 2:02 PM, Helge Deller wrote:

> Instead I'd then suggest the patch below.
> The if-clause in switch_mm_irqs_off() will then probably be optimized
> away by the compiler.
> 
> diff --git a/arch/parisc/include/asm/mmu_context.h b/arch/parisc/include/asm/mmu_context.h
> index a812262..e4a6570 100644
> --- a/arch/parisc/include/asm/mmu_context.h
> +++ b/arch/parisc/include/asm/mmu_context.h
> @@ -63,6 +63,9 @@ static inline void switch_mm(struct mm_struct *prev,
> {
> 	unsigned long flags;
> 
> +	if (prev == next)
> +		return;
> +
> 	local_irq_save(flags);
> 	switch_mm_irqs_off(prev, next, tsk);
> 	local_irq_restore(flags);

You are correct.  I missed the fact that switch_mm_irqs_off() is used by kernel/sched/core.c.

Maybe we should replace the "switch_mm_irqs_off(prev, next, tsk);" with the mtctl and load_context
lines to ensure that the if-clause is optimized?

Dave
--
John David Anglin	dave.anglin@xxxxxxxx



--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux