On Fri, Sep 21, 2018 at 02:34:32PM -0700, Dave Hansen wrote:
> On 09/19/2018 01:50 AM, Peter Zijlstra wrote:
> > @@ -1528,28 +1538,8 @@ static int __change_page_attr(struct cpa
> >      * We have to split the large page:
> >      */
> >     err = split_large_page(cpa, kpte, address);
> > -   if (!err) {
> ...
> > -           flush_tlb_all();
> > +   if (!err)
> >             goto repeat;
> > -   }
> 
> I _think_ this is the only use of split_large_page()'s error code.  We
> can just make it return void now, right?

Then how does it decide to goto repeat or error out?

> BTW, I also really like doing the "final" TLB flush as close as possible
> to the actual PTE manipulation.  Makes it much less likely that we break it.

Yes.

Reply via email to