On 08.04.2025 15:54, Jason Andryuk wrote: > On 2025-04-08 02:37, Jan Beulich wrote: >> On 07.04.2025 21:40, Jason Andryuk wrote: >>> From: "Daniel P. Smith" <dpsm...@apertussolutions.com> >>> >>> Add and use a new internal create domain flag to specify the hardware >>> domain. This removes the hardcoding of domid 0 as the hardware domain. >>> >>> This allows more flexibility with domain creation. >>> >>> The assignment of d->cdf is moved later so CDF_hardware is added for the >>> late_hwdom case. Also old_hwdom has the flag removed to reflect the >>> change. >>> >>> Signed-off-by: Daniel P. Smith <dpsm...@apertussolutions.com> >>> Signed-off-by: Jason Andryuk <jason.andr...@amd.com> >> >> Reviewed-by: Jan Beulich <jbeul...@suse.com> >> i.e. ... > > Thanks. > >>> --- >>> v4: >>> Move d->cdf assignment later >> >> ... despite my earlier concern this movement looks fine to me. > > Double checking today, I see that in the failure case, hardware_domain > is restored from old_hwdom. So in that case, CDF_hardware should be > restored: > > @@ -986,7 +987,11 @@ struct domain *domain_create(domid_t domid, > > d->is_dying = DOMDYING_dead; > if ( hardware_domain == d ) > + { > + if ( old_hwdom ) > + old_hwdom->cdf |= CDF_hardware; > hardware_domain = old_hwdom; > + } > atomic_set(&d->refcnt, DOMAIN_DESTROYED); > > sched_destroy_domain(d);
Oh, right. Please retain my R-b with this added. Jan