>>> On 07.09.12 at 07:37, Alex Shi <alex....@intel.com> wrote: > @@ -1113,7 +1114,10 @@ const struct cpumask *uv_flush_tlb_others(const struct > cpumask *cpumask, > > record_send_statistics(stat, locals, hubs, remotes, bau_desc); > > - bau_desc->payload.address = start; > + if (!end)
So despite having made a very similar mistake on the Xen side, you're again not following your own code adjustments here: The indicator for a multi-page flush is not 'end' being zero, nor would it be okay to use the proper indicator (TLB_FLUSH_ALL) here. Instead, to yield correct code, you need to check for the range covering more than one page. Improvements to do finer grained flushing (if worthwhile on UV) could then be done on top of this. Jan > + bau_desc->payload.address = TLB_FLUSH_ALL; > + else > + bau_desc->payload.address = start; > bau_desc->payload.sending_cpu = cpu; > /* > * uv_flush_send_and_wait returns 0 if all cpu's were messaged, -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/