Messages in this thread | | | Date | Wed, 05 Sep 2012 13:34:52 +0800 | From | Alex Shi <> | Subject | Re: [PATCH] xen: fix logical error in tlb flushing |
| |
On 08/25/2012 03:45 AM, Jan Beulich wrote:
>>>> On 24.08.12 at 20:17, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote: >> On Fri, Aug 24, 2012 at 04:16:39PM +0100, Jan Beulich wrote: >>>>>> On 24.08.12 at 10:55, Alex Shi <alex.shi@intel.com> wrote: >>>> While TLB_FLUSH_ALL gets passed as 'end' argument to >>>> flush_tlb_others(), the Xen code was made to check its 'start' >>>> parameter. That may give a incorrect op.cmd to MMUEXT_INVLPG_MULTI >>>> instead of MMUEXT_TLB_FLUSH_MULTI. Then it causes some page can not >>>> be flushed from TLB. >>>> >>>> This patch fixed this issue. >>>> >>>> Reported-by: Jan Beulich <jbeulich@suse.com> >>>> Signed-off-by: Alex Shi <alex.shi@intel.com> >>> >>> Acked-by: Jan Beulich <jbeulich@suse.com>
CC to Yongjie, Could you like to test this patch on PV guest
>> >> How can I reproduce this
>
> I don't know, I spotted this while looking at the code.
Again, since the old buggy code doesn't cause trouble in PV guest, guess the hypercall for MMUEXT_INVLPG_MULTI was translated or treated as MMUEXT_TLB_FLUSH_MULTI. If so, believe correct this will bring a big performance benefit.
| |