|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |