Re: [PATCH v12 17/29] KVM: SEV: Add support to handle RMP nested page faults

Paolo Bonzini
2024-03-30T20:55:48Z

On 3/29/24 23:58, Michael Roth wrote:
> + if (rmp_level == PG_LEVEL_4K) {
> + pr_debug_ratelimited("%s: Spurious RMP fault for GPA 0x%llx, error_code 0x%llx",
> + __func__, gpa, error_code);
> + goto out;
> + }
> +
> + pr_debug_ratelimited("%s: Splitting 2M RMP entry for GPA 0x%llx, error_code 0x%llx",
> + __func__, gpa, error_code);
> + ret = snp_rmptable_psmash(pfn);
> + if (ret && ret != PSMASH_FAIL_INUSE) {
> + /*
> + * Look it up again. If it's 4K now then the PSMASH may have raced with
> + * another process and the issue has already resolved itself.
> + */
> + if (!snp_lookup_rmpentry(pfn, &assigned, &rmp_level) && assigned &&
> + rmp_level == PG_LEVEL_4K) {
> + pr_debug_ratelimited("%s: PSMASH for GPA 0x%llx failed with ret %d due to potential race",
> + __func__, gpa, ret);
> + goto out;
> + }

Please change these pr_debug_ratelimited() to just a single trace point
after the call to snp_rmptable_psmash().

Paolo