On 3/24/21 10:04 AM, Brijesh Singh wrote:
> @@ -1377,6 +1442,22 @@ void do_user_addr_fault(struct pt_regs *regs,
>       if (hw_error_code & X86_PF_INSTR)
>               flags |= FAULT_FLAG_INSTRUCTION;
>  
> +     /*
> +      * If its an RMP violation, see if we can resolve it.
> +      */
> +     if ((hw_error_code & X86_PF_RMP)) {
> +             ret = handle_rmp_page_fault(hw_error_code, address);
> +             if (ret == RMP_FAULT_PAGE_SPLIT) {
> +                     flags |= FAULT_FLAG_PAGE_SPLIT;
> +             } else if (ret == RMP_FAULT_KILL) {
> +                     fault |= VM_FAULT_SIGBUS;
> +                     mm_fault_error(regs, hw_error_code, address, fault);
> +                     return;
> +             } else {
> +                     return;
> +             }
> +     }

Won't khugepaged come right back around and coalesce this page again?

Reply via email to