On Fri, Jun 25, 2021 at 4:22 PM Luck, Tony <[email protected]> wrote:
>
> -       else
> -               rc = set_memory_uc(decoy_addr, 1);
> +       else {
> +               /*
> +                * Bypass memtype checks since memory-failure has shot
> +                * down mappings.
> +                */
> +               rc = _set_memory_uc(decoy_addr, 1);
> +       }
>
> Does pmem "fix" poison addresses yet? If it does (or will) does it matter that
> you skip the memtype_reserve() call?

It does fix them via clear_mce_nospec(), but that also looks like it
should be using the _set_memory_wb() version to bypass the memory type
reservation twiddling.

That said, I don't understand why set_memory_wb(), non "_" version,
thinks it can unconditionally delete any memtype reservation that
might exist for that pfn? The set_memory_* apis seem disjoint (wrt
memtype) for a reason that eludes me.

Reply via email to