All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Stefano Stabellini" <sstabellini@kernel.org>,
	"Julien Grall" <julien@xen.org>,
	"Volodymyr Babchuk" <Volodymyr_Babchuk@epam.com>,
	"Bertrand Marquis" <bertrand.marquis@arm.com>,
	"Andrew Cooper" <andrew.cooper3@citrix.com>,
	"George Dunlap" <george.dunlap@citrix.com>,
	"Wei Liu" <wl@xen.org>, "Roger Pau Monné" <roger.pau@citrix.com>,
	"Christopher Clark" <christopher.w.clark@gmail.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 00/13] xen: drop hypercall function tables
Date: Mon, 13 Dec 2021 11:48:19 +0100	[thread overview]
Message-ID: <5643c1b5-2adb-5f46-76cb-8651f5edf7c2@suse.com> (raw)
In-Reply-To: <c3f1e075-e142-7fc4-e050-89cf3665901c@suse.com>


[-- Attachment #1.1.1: Type: text/plain, Size: 2796 bytes --]

On 13.12.21 11:35, Jan Beulich wrote:
> On 09.12.2021 10:10, Juergen Gross wrote:
>> On 09.12.21 10:05, Jan Beulich wrote:
>>> On 08.12.2021 16:55, Juergen Gross wrote:
>>>> In order to avoid indirect function calls on the hypercall path as
>>>> much as possible this series is removing the hypercall function tables
>>>> and is replacing the hypercall handler calls via the function array
>>>> by automatically generated call macros.
>>>>
>>>> Another by-product of generating the call macros is the automatic
>>>> generating of the hypercall handler prototypes from the same data base
>>>> which is used to generate the macros.
>>>>
>>>> This has the additional advantage of using type safe calls of the
>>>> handlers and to ensure related handler (e.g. PV and HVM ones) share
>>>> the same prototypes.
>>>>
>>>> A very brief performance test (parallel build of the Xen hypervisor
>>>> in a 6 vcpu guest) showed a very slim improvement (less than 1%) of
>>>> the performance with the patches applied. The test was performed using
>>>> a PV and a PVH guest.
>>>>
>>>> Changes in V2:
>>>> - new patches 6, 14, 15
>>>> - patch 7: support hypercall priorities for faster code
>>>> - comments addressed
>>>>
>>>> Changes in V3:
>>>> - patches 1 and 4 removed as already applied
>>>> - comments addressed
>>>>
>>>> Juergen Gross (13):
>>>>     xen: move do_vcpu_op() to arch specific code
>>>>     xen: harmonize return types of hypercall handlers
>>>>     xen: don't include asm/hypercall.h from C sources
>>>>     xen: include compat/platform.h from hypercall.h
>>>>     xen: generate hypercall interface related code
>>>>     xen: use generated prototypes for hypercall handlers
>>>>     x86/pv-shim: don't modify hypercall table
>>>>     xen/x86: don't use hypercall table for calling compat hypercalls
>>>>     xen/x86: call hypercall handlers via generated macro
>>>>     xen/arm: call hypercall handlers via generated macro
>>>>     xen/x86: add hypercall performance counters for hvm, correct pv
>>>>     xen: drop calls_to_multicall performance counter
>>>>     tools/xenperf: update hypercall names
>>>
>>> It's not easy to tell which, if any, of the later patches are fully
>>> independent of earlier ones and could go in ahead of those awaiting
>>> further acks. Do you have any suggestion there, or should we wait
>>> until things can be applied in order?
>>
>> I think all but the last patch should be applied in order. The last one
>> obviously can be applied at any time.
> 
> Hmm, I think 11 and 12 are fine to go ahead as well; I actually need them
> for some immediate purpose and hence I did pull them (but nothing else)
> into my local tree, without observing issues.

Yeah, those should be okay to take.


Juergen


[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3135 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]

  reply	other threads:[~2021-12-13 10:48 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-08 15:55 [PATCH v3 00/13] xen: drop hypercall function tables Juergen Gross
2021-12-08 15:55 ` [PATCH v3 01/13] xen: move do_vcpu_op() to arch specific code Juergen Gross
2021-12-14 17:21   ` Julien Grall
2021-12-15  7:12     ` Juergen Gross
2021-12-15  9:40       ` Julien Grall
2021-12-08 15:55 ` [PATCH v3 02/13] xen: harmonize return types of hypercall handlers Juergen Gross
2021-12-14 17:36   ` Julien Grall
2021-12-15  7:03     ` Juergen Gross
2021-12-16  2:10       ` Stefano Stabellini
2021-12-16  5:13         ` Juergen Gross
2021-12-16 20:43           ` Stefano Stabellini
2021-12-16 21:15             ` Stefano Stabellini
2021-12-17  5:34               ` Juergen Gross
2021-12-17  7:45                 ` Jan Beulich
2021-12-17  8:50                   ` Juergen Gross
2021-12-17 10:41                     ` Julien Grall
2021-12-17 11:12                       ` Juergen Gross
2021-12-17 23:00                         ` Stefano Stabellini
2021-12-20 17:14                           ` Julien Grall
2021-12-21  0:08                             ` Stefano Stabellini
2021-12-21  7:45                             ` Juergen Gross
2021-12-21  9:16                               ` Julien Grall
2021-12-17  7:39               ` Jan Beulich
2021-12-17 10:38               ` Julien Grall
2021-12-17 23:05                 ` Stefano Stabellini
2021-12-17 10:04       ` Julien Grall
2021-12-08 15:55 ` [PATCH v3 03/13] xen: don't include asm/hypercall.h from C sources Juergen Gross
2021-12-08 15:55 ` [PATCH v3 04/13] xen: include compat/platform.h from hypercall.h Juergen Gross
2021-12-09  9:01   ` Jan Beulich
2021-12-08 15:55 ` [PATCH v3 05/13] xen: generate hypercall interface related code Juergen Gross
2021-12-14  8:56   ` Jan Beulich
2021-12-08 15:55 ` [PATCH v3 06/13] xen: use generated prototypes for hypercall handlers Juergen Gross
2021-12-08 15:56 ` [PATCH v3 07/13] x86/pv-shim: don't modify hypercall table Juergen Gross
2021-12-08 15:56 ` [PATCH v3 08/13] xen/x86: don't use hypercall table for calling compat hypercalls Juergen Gross
2021-12-08 15:56 ` [PATCH v3 09/13] xen/x86: call hypercall handlers via generated macro Juergen Gross
2021-12-08 15:56 ` [PATCH v3 10/13] xen/arm: " Juergen Gross
2021-12-08 15:56 ` [PATCH v3 11/13] xen/x86: add hypercall performance counters for hvm, correct pv Juergen Gross
2021-12-08 15:56 ` [PATCH v3 12/13] xen: drop calls_to_multicall performance counter Juergen Gross
2021-12-08 15:56 ` [PATCH v3 13/13] tools/xenperf: update hypercall names Juergen Gross
2021-12-09  9:05 ` [PATCH v3 00/13] xen: drop hypercall function tables Jan Beulich
2021-12-09  9:10   ` Juergen Gross
2021-12-13 10:35     ` Jan Beulich
2021-12-13 10:48       ` Juergen Gross [this message]
2022-03-08  8:34 ` Jan Beulich
2022-03-08  8:39   ` Juergen Gross
2022-03-08  8:50     ` Jan Beulich
2022-03-08  8:53       ` Juergen Gross
2022-03-08 12:50     ` Jan Beulich
2022-03-08 12:56       ` Juergen Gross
2022-03-08 13:42         ` Jan Beulich
2022-03-08 13:44           ` Juergen Gross
2022-03-08 13:52             ` Jan Beulich

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=5643c1b5-2adb-5f46-76cb-8651f5edf7c2@suse.com \
    --to=jgross@suse.com \
    --cc=Volodymyr_Babchuk@epam.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=bertrand.marquis@arm.com \
    --cc=christopher.w.clark@gmail.com \
    --cc=george.dunlap@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julien@xen.org \
    --cc=roger.pau@citrix.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 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.