Re: [PATCH 4/9] x86/mm/tlb: Flush remote and local TLBs concurrently

From: Dave Hansen
Date: Tue Jun 25 2019 - 23:00:41 EST


On 6/25/19 7:35 PM, Nadav Amit wrote:
>>> const struct flush_tlb_info *f = info;
>>> + enum tlb_flush_reason reason;
>>> +
>>> + reason = (f->mm == NULL) ? TLB_LOCAL_SHOOTDOWN : TLB_LOCAL_MM_SHOOTDOWN;
>>
>> Should we just add the "reason" to flush_tlb_info? It's OK-ish to imply
>> it like this, but seems like it would be nicer and easier to track down
>> the origins of these things if we did this at the caller.
>
> I prefer not to. I want later to inline flush_tlb_info into the same
> cacheline that holds call_function_data. Increasing the size of
> flush_tlb_info for no good reason will not helpâ

Well, flush_tlb_info is at 6/8ths of a cacheline at the moment.
call_function_data is 3/8ths. To me, that means we have some slack in
the size.