xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Jan Beulich <jbeulich@suse.com>
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Kevin Tian <kevin.tian@intel.com>,
	xen-devel@lists.xenproject.org, Chao Gao <chao.gao@intel.com>
Subject: Re: [PATCH v2] VT-d: Don't assume register-based invalidation is always supported
Date: Tue, 20 Apr 2021 14:50:37 +0200	[thread overview]
Message-ID: <525fa57c-b036-7c2b-3a6d-ede7f4ce6d36@suse.com> (raw)
In-Reply-To: <98da1bbb-8860-0728-a438-a4f12719d4e2@xen.org>

On 20.04.2021 14:39, Julien Grall wrote:
> On 20/04/2021 13:25, Jan Beulich wrote:
>> On 20.04.2021 14:14, Julien Grall wrote:
>>> It is not really my area of expertise but I wanted to jump on one
>>> comment below...
>>>
>>> On 20/04/2021 12:38, Jan Beulich wrote:
>>>> On 01.04.2020 22:06, Chao Gao wrote:
>>>>> ---
>>>>> Changes in v2:
>>>>>    - verify system suspension and resumption with this patch applied
>>>>>    - don't fall back to register-based interface if enabling qinval failed.
>>>>>      see the change in init_vtd_hw().
>>>>>    - remove unnecessary "queued_inval_supported" variable
>>>>>    - constify the "struct vtd_iommu *" of has_register_based_invalidation()
>>>>>    - coding-style changes
>>>>
>>>> ... while this suggests this is v2 of a recently sent patch, the
>>>> submission is dated a little over a year ago. This is confusing.
>>>> It is additionally confusing that there were two copies of it in
>>>> my inbox, despite mails coming from a list normally getting
>>>> de-duplicated somewhere at our end (I believe).
>>>>
>>>>> --- a/xen/drivers/passthrough/vtd/iommu.c
>>>>> +++ b/xen/drivers/passthrough/vtd/iommu.c
>>>>> @@ -1193,6 +1193,14 @@ int __init iommu_alloc(struct acpi_drhd_unit *drhd)
>>>>>    
>>>>>        iommu->cap = dmar_readq(iommu->reg, DMAR_CAP_REG);
>>>>>        iommu->ecap = dmar_readq(iommu->reg, DMAR_ECAP_REG);
>>>>> +    iommu->version = dmar_readl(iommu->reg, DMAR_VER_REG);
>>>>> +
>>>>> +    if ( !iommu_qinval && !has_register_based_invalidation(iommu) )
>>>>> +    {
>>>>> +        printk(XENLOG_WARNING VTDPREFIX "IOMMU %d: cannot disable Queued Invalidation.\n",
>>>>> +               iommu->index);
>>>>
>>>> Here (and at least once more yet further down): We don't normally end
>>>> log messages with a full stop. Easily addressable while committing, of
>>>> course.
>>>
>>> I can find a large number of cases where log messages are ended with a
>>> full stop... Actually it looks more natural to me than your suggestion.
>>
>> Interesting. From purely a language perspective it indeed looks more
>> natural, I agree. But when considering (serial) console bandwidth, we
>> ought to try to eliminate _any_ output that's there without conveying
>> information or making the conveyed information understandable. In fact
>> I recall a number of cases (without having commit hashes to hand)
>> where we deliberately dropped full stops. (The messages here aren't at
>> risk of causing bandwidth issues, but as with any such generic item I
>> think the goal ought to be consistency, and hence either full stops
>> everywhere, or nowhere. If bandwidth was an issue here, I might also
>> have suggested to shorten "Queued Invalidation" to just "QI".)
> I wasn't aware of such requirement in Xen... Although, I can see how 
> this can be a concern. If you really want to enforce it, then it should 
> be written in the CODING_STYLE.

Agreed, but since I've had no success with prior adjustments to that
file (not even worth a reply to tell me why a change might be a bad
one, in at least some of the cases), I'm afraid I've given up making
attempts to get adjustments into there.

> Alternatively, you could be a bit more 
> verbose in your request so the other understand the reasoning behind it.

Well, yes, perhaps. But then there's the desire to not repeat oneself
all the time.

Jan


  reply	other threads:[~2021-04-20 12:50 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-01 20:06 [PATCH v2] VT-d: Don't assume register-based invalidation is always supported Chao Gao
2021-04-20 11:38 ` Jan Beulich
2021-04-20 12:14   ` Julien Grall
2021-04-20 12:25     ` Jan Beulich
2021-04-20 12:39       ` Julien Grall
2021-04-20 12:50         ` Jan Beulich [this message]
2021-04-20 13:00           ` Julien Grall
2021-04-20 12:41   ` Chao Gao
2021-04-20 15:08 ` Roger Pau Monné
2021-04-20 15:38   ` Jan Beulich
2021-04-20 16:17     ` Roger Pau Monné
2021-04-21  9:23       ` Jan Beulich
2021-04-21 11:31         ` Chao Gao
2021-04-25  1:20         ` Tian, Kevin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=525fa57c-b036-7c2b-3a6d-ede7f4ce6d36@suse.com \
    --to=jbeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=chao.gao@intel.com \
    --cc=george.dunlap@citrix.com \
    --cc=iwj@xenproject.org \
    --cc=julien@xen.org \
    --cc=kevin.tian@intel.com \
    --cc=sstabellini@kernel.org \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).