On Wed, Jan 06, 2021 at 05:27:27PM -0300, Fabiano Rosas wrote:
> Bharata B Rao <bhar...@linux.ibm.com> writes:
> > +
> > +long kvmhv_h_rpti_nested(struct kvm_vcpu *vcpu, unsigned long lpid,
> > +                    unsigned long type, unsigned long pg_sizes,
> > +                    unsigned long start, unsigned long end)
> > +{
> > +   struct kvm_nested_guest *gp;
> > +   long ret;
> > +   unsigned long psize, ap;
> > +
> > +   /*
> > +    * If L2 lpid isn't valid, we need to return H_PARAMETER.
> > +    *
> > +    * However, nested KVM issues a L2 lpid flush call when creating
> > +    * partition table entries for L2. This happens even before the
> > +    * corresponding shadow lpid is created in HV which happens in
> > +    * H_ENTER_NESTED call. Since we can't differentiate this case from
> > +    * the invalid case, we ignore such flush requests and return success.
> > +    */
> 
> So for a nested lpid the H_TLB_INVALIDATE in:
> 
> kvmppc_core_init_vm_hv -> kvmppc_setup_partition_table ->
> kvmhv_set_ptbl_entry -> kvmhv_flush_lpid
> 
> has always been a noop? It seems that we could just skip
> kvmhv_flush_lpid in L1 during init_vm then.

May be, but I suppose that flush is required and could be fixed
eventually.

Regards,
Bharata.

Reply via email to