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

[Xen-devel] Re: [PATCH FIXED] x86: use flush_tlb_others to implement flush_tlb_all



On Tue, 2009-05-12 at 20:33 -0400, Jeremy Fitzhardinge wrote:

> -static void do_flush_tlb_all(void *info)
> +void flush_tlb_all(void)
>  {
> -     unsigned long cpu = smp_processor_id();
> +     /* flush_tlb_others expects preempt to be disabled */
> +     get_cpu();
> +
> +     flush_tlb_others(cpu_online_mask, NULL, TLB_FLUSH_ALL);
>  
>       __flush_tlb_all();
>       if (percpu_read(cpu_tlbstate.state) == TLBSTATE_LAZY)
> -             leave_mm(cpu);
> -}
> +             leave_mm(smp_processor_id());

get_cpu() returns smp_processor_id() so wouldn't this be more normally
written as:
        /* flush_tlb_others expects preempt to be disabled */
        unsigned long cpu = get_cpu();
        [....]
        if ([....] == TLBSTATE_LAZY)
                leave_mm(cpu)
        put_cpu();

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.