Re: [PART1 RFC v2 07/10] svm: Add VMEXIT handlers for AVIC
From: Radim KrÄmÃÅ
Date: Tue Mar 08 2016 - 17:05:59 EST
2016-03-07 16:58+0100, Paolo Bonzini:
>> + case AVIC_INCMP_IPI_ERR_INV_TARGET:
>> + pr_err("%s: Invalid IPI target (icr=%#08x:%08x, idx=%u)\n",
>> + __func__, icrh, icrl, index);
>> + BUG();
>> + break;
>> + case AVIC_INCMP_IPI_ERR_INV_BK_PAGE:
>> + pr_err("%s: Invalid bk page (icr=%#08x:%08x, idx=%u)\n",
>> + __func__, icrh, icrl, index);
>> + BUG();
>> + break;
>
> Please use WARN(1, "%s: Invalid bk page (icr=%#08x:%08x, idx=%u)\n",
> __func__, icrh, icrl, index) (and likewise for invalid target) instead
> of BUG().
I think that if we hit one of these, then WARNs would just flood the
log. I'd prefer WARN_ONCE on AVIC_INCMP_IPI_ERR_INV_BK_PAGE.
(Btw. aren't icr and idx are pointless on this error? and the function
name should be printed by WARN.)
Invalid target is triggerable by the guest (by sending IPI to a
non-existent LAPIC), so warning log level seems too severe.
pr_info_ratelimited() or nothing would be better.