Re: [Qemu-devel] [PATCH v7 18/27] cputlb: introduce tlb_flush_*_all_cpus

2017-01-25 Thread Alex Bennée
Richard Henderson writes: > On 01/24/2017 12:34 PM, Alex Bennée wrote: >> >> Richard Henderson writes: >> >>> On 01/19/2017 09:04 AM, Alex Bennée wrote: +/* flush_all_helper: run fn across all cpus + * + * If the wait flag is set then the src cpu's helper will be queued as +

Re: [Qemu-devel] [PATCH v7 18/27] cputlb: introduce tlb_flush_*_all_cpus

2017-01-24 Thread Richard Henderson
On 01/24/2017 12:34 PM, Alex Bennée wrote: > > Richard Henderson writes: > >> On 01/19/2017 09:04 AM, Alex Bennée wrote: >>> +/* flush_all_helper: run fn across all cpus >>> + * >>> + * If the wait flag is set then the src cpu's helper will be queued as >>> + * "safe" work and the loop exited cr

Re: [Qemu-devel] [PATCH v7 18/27] cputlb: introduce tlb_flush_*_all_cpus

2017-01-24 Thread Alex Bennée
Richard Henderson writes: > On 01/19/2017 09:04 AM, Alex Bennée wrote: >> +/* flush_all_helper: run fn across all cpus >> + * >> + * If the wait flag is set then the src cpu's helper will be queued as >> + * "safe" work and the loop exited creating a synchronisation point >> + * where all queued

Re: [Qemu-devel] [PATCH v7 18/27] cputlb: introduce tlb_flush_*_all_cpus

2017-01-23 Thread Richard Henderson
On 01/19/2017 09:04 AM, Alex Bennée wrote: > +/* flush_all_helper: run fn across all cpus > + * > + * If the wait flag is set then the src cpu's helper will be queued as > + * "safe" work and the loop exited creating a synchronisation point > + * where all queued work will be finished before execut

[Qemu-devel] [PATCH v7 18/27] cputlb: introduce tlb_flush_*_all_cpus

2017-01-19 Thread Alex Bennée
This introduces support to the cputlb API for flushing all CPUs TLBs with one call. This avoids the need for target helpers to iterate through the vCPUs themselves. Additionally these functions provide a "wait" argument which will cause the work to be scheduled and the calling vCPU to exit its loop