[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen/sched: rework credit2 run-queue allocation
On Wed, 2020-02-19 at 17:52 +0100, Jan Beulich wrote: > On 19.02.2020 17:47, Dario Faggioli wrote: > > On Thu, 2020-01-23 at 09:55 +0100, Juergen Gross wrote: > > > --- a/xen/common/sched/credit2.c > > > +++ b/xen/common/sched/credit2.c > > > @@ -849,51 +822,71 @@ static inline bool same_core(unsigned int > > > cpua, > > > unsigned int cpub) > > > cpu_to_core(cpua) == cpu_to_core(cpub); > > > } > > > > > > -static unsigned int > > > -cpu_to_runqueue(const struct csched2_private *prv, unsigned int > > > cpu) > > > +static struct csched2_runqueue_data * > > > +cpu_add_to_runqueue(struct csched2_private *prv, unsigned int > > > cpu) > > > { > > > - const struct csched2_runqueue_data *rqd; > > > - unsigned int rqi; > > > + struct csched2_runqueue_data *rqd, *rqd_new; > > > + struct list_head *rqd_ins; > > > + unsigned long flags; > > > + int rqi = 0; > > > + bool rqi_unused = false, rqd_valid = false; > > > + > > > + rqd_new = xzalloc(struct csched2_runqueue_data); > > > > > > > > So, I'm not sure I see why it's better to allocating this here, and > > then free it if we didn't need it, instead than allocating it > > later, > > only if we actually need it... What am I missing? :-) > > Where possible we should try to avoid calling allocation functions > with locks held. > Ah, sure, that's a very good reason indeed, my bad not noticing that doing this like that the allocation sits outside of the write_lock() section. Nevertheless, I'd add a quick comment about that, to make it even more obvious. :-) Regards -- Dario Faggioli, Ph.D http://about.me/dario.faggioli Virtualization Software Engineer SUSE Labs, SUSE https://www.suse.com/ ------------------------------------------------------------------- <<This happens because _I_ choose it to happen!>> (Raistlin Majere) Attachment:
signature.asc _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |