• R
    x86: change flush_tlb_others to take a const struct cpumask · 4595f962
    Rusty Russell 提交于
    Impact: reduce stack usage, use new cpumask API.
    
    This is made a little more tricky by uv_flush_tlb_others which
    actually alters its argument, for an IPI to be sent to the remaining
    cpus in the mask.
    
    I solve this by allocating a cpumask_var_t for this case and falling back
    to IPI should this fail.
    
    To eliminate temporaries in the caller, all flush_tlb_others implementations
    now do the this-cpu-elimination step themselves.
    
    Note also the curious "cpus_or(f->flush_cpumask, cpumask, f->flush_cpumask)"
    which has been there since pre-git and yet f->flush_cpumask is always zero
    at this point.
    Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: NMike Travis <travis@sgi.com>
    4595f962
paravirt.h 43.8 KB