On Thu, Jun 23, 2011 at 7:44 AM, Andrea Arcangeli <aarcange@xxxxxxxxxx> wrote: > On Thu, Jun 23, 2011 at 07:19:06AM +0800, Nai Xia wrote: >> OK, I'll have a try over other workarounds. >> I am not feeling good about need_pte_unmap myself. :-) > > The usual way is to check VM_HUGETLB in the caller and to call another > function that doesn't kmap. Casting pmd_t to pte_t isn't really nice > (but hey we're also doing that exceptionally in smaps_pte_range for > THP, but it safe there because we're casting the value of the pmd, not > the pointer to the pmd, so the kmap is done by the pte version of the > caller and not done by the pmd version of the caller). > > Is it done for migrate? Surely it's not for swapout ;). Thanks for the hint. :-) You know, another thing I am worried about is that I think I did make page_check_address() return a pmd version for skipping the tail subpages ... I did detecte a schedule in atomic if I kunmap() the returned value. :-( > >> Thanks for viewing! > > You're welcome! > > JFYI I'll be offline on vacation for a week, starting tomorrow, so if > I don't answer in the next few days that's the reason but I'll follow > the progress in a week. Have a nice vacation man! Enjoy the sunlight, we all have enough of code in rooms. ;-) Thanks, Nai > > Thanks! > Andrea > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html