[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3/7] xen: rework locking for dump of scheduler info (debug-key r)
>>> On 16.03.15 at 18:05, <dario.faggioli@xxxxxxxxxx> wrote: > such as it is taken care of by the various schedulers, rather > than happening in schedule.c. In fact, it is the schedulers > that know better which locks are necessary for the specific > dumping operations. > > While there, fix a few style issues (indentation, trailing > whitespace, parentheses and blank line after var declarations) > > Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx> > Cc: George Dunlap <george.dunlap@xxxxxxxxxxxxx> > Cc: Meng Xu <xumengpanda@xxxxxxxxx> > Cc: Jan Beulich <JBeulich@xxxxxxxx> > Cc: Keir Fraser <keir@xxxxxxx> > --- > xen/common/sched_credit.c | 42 ++++++++++++++++++++++++++++++++++++++++-- > xen/common/sched_credit2.c | 40 ++++++++++++++++++++++++++++++++-------- > xen/common/sched_rt.c | 7 +++++-- > xen/common/schedule.c | 5 ++--- > 4 files changed, 79 insertions(+), 15 deletions(-) Is it really correct that sched_sedf.c doesn't need any change here? > --- a/xen/common/sched_credit.c > +++ b/xen/common/sched_credit.c > @@ -26,6 +26,23 @@ > > > /* > + * Locking: > + * - Scheduler-lock (a.k.a. runqueue lock): > + * + is per-runqueue, and there is one runqueue per-cpu; > + * + serializes all runqueue manipulation operations; > + * - Private data lock (a.k.a. private scheduler lock): > + * + serializes accesses to the scheduler global state (weight, > + * credit, balance_credit, etc); > + * + serializes updates to the domains' scheduling parameters. > + * > + * Ordering is "private lock always comes first": > + * + if we need both locks, we must acquire the private > + * scheduler lock for first; > + * + if we already own a runqueue lock, we must never acquire > + * the private scheduler lock. > + */ And this is Credit1 specific? Regardless of that, even if that's just reflecting current state, isn't acquiring a private lock around a generic lock backwards? Finally, as said in different contexts earlier, I think unconditionally acquiring locks in dumping routines isn't the best practice. At least in non-debug builds I think these should be try-locks only, skipping the dumping when a lock is busy. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |