Re: [PATCH 2/8] x86/mm/cpa: Move flush_tlb_all()

From: Dave Hansen
Date: Fri Sep 21 2018 - 17:38:15 EST


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?

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.