On 23.11.20 17:54, Paul Durrant wrote:
Hi Paul
-----Original Message-----
From: Oleksandr <olekst...@gmail.com>
Sent: 23 November 2020 15:48
To: Jan Beulich <jbeul...@suse.com>; Paul Durrant <p...@xen.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshche...@epam.com>; Andrew Cooper
<andrew.coop...@citrix.com>;
Roger Pau Monné <roger....@citrix.com>; Wei Liu <w...@xen.org>; George Dunlap
<george.dun...@citrix.com>; Ian Jackson <i...@xenproject.org>; Julien Grall
<jul...@xen.org>; Stefano
Stabellini <sstabell...@kernel.org>; Jun Nakajima <jun.nakaj...@intel.com>;
Kevin Tian
<kevin.t...@intel.com>; Julien Grall <julien.gr...@arm.com>;
xen-devel@lists.xenproject.org
Subject: Re: [PATCH V2 12/23] xen/ioreq: Remove "hvm" prefixes from involved
function names
On 23.11.20 16:56, Jan Beulich wrote:
Hi Jan, Paul
On 23.11.2020 15:39, Oleksandr wrote:
As it was agreed, below the list of proposed renaming (naming) within
current series.
Thanks for compiling this. A couple of suggestions for consideration:
1. Global (existing):
hvm_map_mem_type_to_ioreq_server -> ioreq_server_map_mem_type
hvm_select_ioreq_server -> ioreq_server_select
hvm_send_ioreq -> ioreq_send
hvm_ioreq_init -> ioreq_init
ioreq_domain_init() (or, imo less desirable domain_ioreq_init())?
On Arm (for example) I see two variants are present:
1. That starts with subsystem:
- tee_domain_init
- iommu_domain_init
2. Where sybsystem in the middle:
- domain_io_init
- domain_vuart_init
- domain_vtimer_init
If there is no rule, but a matter of taste then I would use
ioreq_domain_init(),
so arch_ioreq_init() wants to be arch_ioreq_domain_init().
hvm_destroy_all_ioreq_servers -> ioreq_server_destroy_all
hvm_all_ioreq_servers_add_vcpu -> ioreq_server_add_vcpu_all
hvm_all_ioreq_servers_remove_vcpu -> ioreq_server_remove_vcpu_all
hvm_broadcast_ioreq -> ioreq_broadcast
hvm_create_ioreq_server -> ioreq_server_create
hvm_get_ioreq_server_info -> ioreq_server_get_info
hvm_map_io_range_to_ioreq_server -> ioreq_server_map_io_range
hvm_unmap_io_range_from_ioreq_server -> ioreq_server_unmap_io_range
hvm_set_ioreq_server_state -> ioreq_server_set_state
hvm_destroy_ioreq_server -> ioreq_server_destroy
hvm_get_ioreq_server_frame -> ioreq_server_get_frame
hvm_ioreq_needs_completion -> ioreq_needs_completion
hvm_mmio_first_byte -> ioreq_mmio_first_byte
hvm_mmio_last_byte -> ioreq_mmio_last_byte
send_invalidate_req -> ioreq_signal_mapcache_invalidate
handle_hvm_io_completion -> handle_io_completion
For this one I'm not sure what to suggest, but I'm not overly happy
with the name.
I also failed to find a better name. Probably ioreq_ or vcpu_ioreq_
prefix wants to be added here?
hvm_io_pending -> io_pending
vcpu_ioreq_pending() or vcpu_any_ioreq_pending()?
I am fine with vcpu_ioreq_pending()
...in which case vcpu_ioreq_handle_completion() seems like a reasonable choice.
ok, will rename here ...
2. Global (new):
arch_io_completion
and here arch_vcpu_ioreq_completion() (without handle in the middle).
arch_ioreq_server_map_pages
arch_ioreq_server_unmap_pages
arch_ioreq_server_enable
arch_ioreq_server_disable
arch_ioreq_server_destroy
arch_ioreq_server_map_mem_type
arch_ioreq_server_destroy_all
arch_ioreq_server_get_type_addr
arch_ioreq_init
Assuming this is the arch hook of the similarly named function
further up, a similar adjustment may then be wanted here.
Yes.
domain_has_ioreq_server
3. Local (existing) in common ioreq.c:
hvm_alloc_ioreq_mfn -> ioreq_alloc_mfn
hvm_free_ioreq_mfn -> ioreq_free_mfn
These two are server functions, so should imo be ioreq_server_...().
ok, but ...
However, if they're static (as they're now), no distinguishing
prefix is strictly necessary, i.e. alloc_mfn() and free_mfn() may
be fine. The two names may be too short for Paul's taste, though.
Some similar shortening may be possible for some or all of the ones
... In general I would be fine with any option. However, using the
shortening rule for all
we are going to end up with single-word function names (enable, init, etc).
So I would prefer to leave locals as is (but dropping hvm prefixes of
course and
clarify ioreq_server_alloc_mfn/ioreq_server_free_mfn).
Paul, Jan what do you think?
I prefer ioreq_server_alloc_mfn/ioreq_server_free_mfn. The problem with
shortening is that function names become ambiguous within the source base and
hence harder to find.
Got it.
Thank you
--
Regards,
Oleksandr Tyshchenko