> >> @@ -1202,7 +1205,12 @@ again: > >> if (force_flush) { > >> force_flush = 0; > >> tlb_flush_mmu_free(tlb); > >> - > >> + if (pending_page) { > >> + /* remove the page with new size */ > >> + __tlb_adjust_range(tlb, tlb->addr); > > > > Would you please specify why tlb->addr is used here? > > > > That is needed because tlb_flush_mmu_tlbonly() does a __tlb_reset_range(). > If ->addr is updated in resetting, then it is a noop here to deliver tlb->addr to __tlb_adjust_range(). On the other hand, if ->addr is not updated in resetting, then it is also a noop here.
Do you want to update ->addr here? thanks Hillf