[Public]

> -----Original Message-----
> From: Jan Beulich <[email protected]>
> Sent: Tuesday, July 22, 2025 3:16 PM
> To: Penny, Zheng <[email protected]>
> Cc: Huang, Ray <[email protected]>; Stefano Stabellini
> <[email protected]>; Julien Grall <[email protected]>; Bertrand Marquis
> <[email protected]>; Orzel, Michal <[email protected]>;
> Volodymyr Babchuk <[email protected]>; Andrew Cooper
> <[email protected]>; Anthony PERARD <[email protected]>;
> Roger Pau MonnĂ© <[email protected]>; Daniel P. Smith
> <[email protected]>; [email protected]
> Subject: Re: [PATCH v1] xen: move getdomaininfo() to domain.c
>
> On 22.07.2025 07:04, Penny Zheng wrote:
> > Function getdomaininfo() is not only invoked by domctl-op, but also
> > sysctl-op, so it shall better live in domain.c, rather than domctl.c.
> > Which is also applied for arch_get_domain_info(). Style corrections
> > shall be applied at the same time while moving these functions, such
> > as converting u64 to uint64_t.
> >
> > The movement could also fix CI error of a randconfig picking both
> > SYSCTL=y and PV_SHIM_EXCLUSIVE=y results in sysctl.c being built, but
> > domctl.c not being built, which leaves getdomaininfo() undefined, causing 
> > linking
> to fail.
> >
> > Fixes: 34317c508294 ("xen/sysctl: wrap around sysctl hypercall")
> > Reported-by: Jan Beulich <[email protected]>
> > Signed-off-by: Penny Zheng <[email protected]>
>
> I'm not convinced of this approach. In the longer run this would mean wrapping
> everything you move in "#if defined(CONFIG_SYSCTL) ||
> defined(CONFIG_DOMCTL)", which I consider undesirable. Without DOMCTL, the
> usefulness of XEN_SYSCTL_getdomaininfolist is at least questionable. Therefore
> adding more isolated "#ifdef CONFIG_DOMCTL" just there may be an option.
> Similarly, as mentioned on the other thread, having SYSCTL depend on DOMCTL is
> an approach which imo wants at least considering. And there surely are further
> options.
>

Yes, later when introducing CONFIG_DOMCTL. I intend to wrap getdomaininfo() 
with "#if defined(CONFIG_SYSCTL) || defined(CONFIG_DOMCTL)". imo, 
getdomaininfo() is to achieve domain info, domctl-op use it to get per-domain 
info and sysctl-op use it to get system-wide, all-domain info, That's why I 
suggest to move it to more common location domain.c.
 Apart from it, we will have functions like, cpumask_to_xenctl_bitmap(), etc, 
generic type-conversion helper, needs such wrapping. That's all the scenario 
fwis.

> As indicated elsewhere, my preference goes towards reverting the final one or 
> two
> patches of that series. They can be re-applied once the dependencies were 
> properly
> sorted, which may (as per above) involve properly introducing a DOMCTL Kconfig
> setting first.
>
> Jan

Reply via email to