Excerpts from Vineet Gupta's message of July 28, 2020 2:01 pm:
> On 7/27/20 8:33 PM, Nicholas Piggin wrote:
>> Many of these are no-ops on many architectures, so extend mmu_context.h
>> to cover MMU and NOMMU, and split the NOMMU bits out to nommu_context.h
>> 
> 
>> -static inline void switch_mm(struct mm_struct *prev,
>> -                    struct mm_struct *next,
>> -                    struct task_struct *tsk)
>> +/**
>> + * activate_mm - called after exec switches the current task to a new mm, 
>> to switch to it
>> + * @prev_mm: previous mm of this task
>> + * @next_mm: new mm
>> + */
>> +#ifndef activate_mm
>> +static inline void activate_mm(struct mm_struct *prev_mm,
>> +                           struct mm_struct *next_mm)
>>  {
>> +    switch_mm(prev_mm, next_mm, current);
>>  }
>> +#endif
> 
> Is activate_mm() really needed now. It seems most arches have
>    activate_mm(p, n) -> switch_mm(p, n, NULL)
> 
> And if we are passing current, that can be pushed inside switch_mm()

Thanks for taking a look, I think there may be more consolidation
like this possible, and certainly some of the arch patches could
have gone a bit further.

I wanted to be fairly careful to make only quite trivial changes
(only the obvious no-ops) for the first iteration, but once this
is in the tree it should become a fair bit easier to do some
of your suggestions.

There's a few things that make activate_mm->switch_mm not quite
simple - alpha, nios2, parisc, s390, maybe x86.

Thanks,
Nick

Reply via email to