From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com,
xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
consulting@bugseng.com, andrew.cooper3@citrix.com,
roger.pau@citrix.com, bertrand.marquis@arm.com, julien@xen.org,
Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH] xen: cache clearing and invalidation helpers refactoring
Date: Wed, 28 Feb 2024 15:33:33 +0100 [thread overview]
Message-ID: <4b8015c51f93ae05ad0748832e06cf8b@bugseng.com> (raw)
In-Reply-To: <b8bb4534-b11c-4fa6-a617-0460f494a626@suse.com>
On 2024-02-26 11:51, Jan Beulich wrote:
> On 23.02.2024 08:58, Nicola Vetrini wrote:
>> On 2024-02-19 16:14, Nicola Vetrini wrote:
>>> The cache clearing and invalidation helpers in x86 and Arm didn't
>>> comply with MISRA C Rule 17.7: "The value returned by a function
>>> having non-void return type shall be used". On Arm they
>>> were always returning 0, while some in x86 returned -EOPNOTSUPP
>>> and in common/grant_table the return value is saved.
>>>
>>> As a consequence, a common helper arch_grant_cache_flush that returns
>>> an integer is introduced, so that each architecture can choose
>>> whether
>>> to
>>> return an error value on certain conditions, and the helpers have
>>> either
>>> been changed to return void (on Arm) or deleted entirely (on x86).
>>>
>>> Signed-off-by: Julien Grall <julien@xen.org>
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>> The original refactor idea came from Julien Grall in [1]; I edited
>>> that
>>> proposal
>>> to fix build errors.
>>>
>>> I did introduce a cast to void for the call to flush_area_local on
>>> x86,
>>> because
>>> even before this patch the return value of that function wasn't
>>> checked
>>> in all
>>> but one use in x86/smp.c, and in this context the helper (perhaps
>>> incidentally)
>>> ignored the return value of flush_area_local.
>>>
>>> [1]
>>> https://lore.kernel.org/xen-devel/09589e8f-77b6-47f7-b5bd-cf485e4b60f1@xen.org/
>>> ---
>>> xen/arch/arm/include/asm/page.h | 33
>>> ++++++++++++++++++-----------
>>> xen/arch/x86/include/asm/flushtlb.h | 23 ++++++++++----------
>>> xen/common/grant_table.c | 9 +-------
>>> 3 files changed, 34 insertions(+), 31 deletions(-)
>>>
>>
>> I'll put this patch in the backlog at the moment: too many intricacies
>> while trying to untangle xen/flushtlb from xen/mm.h, and there are
>> easier cases that can be done faster. If someone is interested I can
>> post the partial work I've done so far, even though it doesn't
>> build on x86.
>
> This
> https://lists.xen.org/archives/html/xen-devel/2024-02/msg01513.html
> may be of interest to you in the context here.
>
I'll take a look, thanks.
--
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)
prev parent reply other threads:[~2024-02-28 14:33 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-19 15:14 [XEN PATCH] xen: cache clearing and invalidation helpers refactoring Nicola Vetrini
2024-02-20 7:45 ` Jan Beulich
2024-02-20 8:14 ` Nicola Vetrini
2024-02-21 12:08 ` Nicola Vetrini
2024-02-21 15:46 ` Nicola Vetrini
2024-02-22 13:48 ` Jan Beulich
2024-02-22 14:43 ` Nicola Vetrini
2024-02-22 15:07 ` Jan Beulich
2024-02-23 7:58 ` Nicola Vetrini
2024-02-23 23:05 ` Stefano Stabellini
2024-02-24 11:40 ` Nicola Vetrini
2024-02-27 0:01 ` Stefano Stabellini
2024-02-26 10:51 ` Jan Beulich
2024-02-28 14:33 ` Nicola Vetrini [this message]
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=4b8015c51f93ae05ad0748832e06cf8b@bugseng.com \
--to=nicola.vetrini@bugseng.com \
--cc=Volodymyr_Babchuk@epam.com \
--cc=andrew.cooper3@citrix.com \
--cc=ayan.kumar.halder@amd.com \
--cc=bertrand.marquis@arm.com \
--cc=consulting@bugseng.com \
--cc=george.dunlap@citrix.com \
--cc=jbeulich@suse.com \
--cc=julien@xen.org \
--cc=michal.orzel@amd.com \
--cc=roger.pau@citrix.com \
--cc=sstabellini@kernel.org \
--cc=wl@xen.org \
--cc=xen-devel@lists.xenproject.org \
--cc=xenia.ragiadakou@amd.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.