[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH 2/2] lib/uklock: Disable debug logging for semaphores
Hi, I will just add a few lines, to the commit message saying that our per-module debug message enabling does not work here because most of the prints are in the header files. If you do not mind. Reviewed-by: Yuri Volchkov <yuri.volchkov@xxxxxxxxx> Cheers, Yuri. Costin Lupu <costin.lupu@xxxxxxxxx> writes: > When debug logging is enabled, semaphores messages logging can get very > aggressive and flood the output, therefore we leave them disabled by > default. One has to explicitly enable logging again by defining > UK_SEMAPHORE_DEBUG when investigating issues like deadlocks. > > Signed-off-by: Costin Lupu <costin.lupu@xxxxxxxxx> > --- > lib/uklock/include/uk/semaphore.h | 10 ++++++++++ > lib/uklock/semaphore.c | 2 ++ > 2 files changed, 12 insertions(+) > > diff --git a/lib/uklock/include/uk/semaphore.h > b/lib/uklock/include/uk/semaphore.h > index 2513d441..2e82b10f 100644 > --- a/lib/uklock/include/uk/semaphore.h > +++ b/lib/uklock/include/uk/semaphore.h > @@ -65,7 +65,9 @@ static inline void uk_semaphore_down(struct uk_semaphore *s) > ukplat_lcpu_restore_irqf(irqf); > } > --s->count; > +#ifdef UK_SEMAPHORE_DEBUG > uk_pr_debug("Decreased semaphore %p to %ld\n", s, s->count); > +#endif > ukplat_lcpu_restore_irqf(irqf); > } > > @@ -80,8 +82,10 @@ static inline int uk_semaphore_down_try(struct > uk_semaphore *s) > if (s->count > 0) { > ret = 1; > --s->count; > +#ifdef UK_SEMAPHORE_DEBUG > uk_pr_debug("Decreased semaphore %p to %ld\n", > s, s->count); > +#endif > } > ukplat_lcpu_restore_irqf(irqf); > return ret; > @@ -109,14 +113,18 @@ static inline __nsec uk_semaphore_down_to(struct > uk_semaphore *s, > } > if (s->count > 0) { > s->count--; > +#ifdef UK_SEMAPHORE_DEBUG > uk_pr_debug("Decreased semaphore %p to %ld\n", > s, s->count); > +#endif > ukplat_lcpu_restore_irqf(irqf); > return ukplat_monotonic_clock() - then; > } > > ukplat_lcpu_restore_irqf(irqf); > +#ifdef UK_SEMAPHORE_DEBUG > uk_pr_debug("Timed out while waiting for semaphore %p\n", s); > +#endif > return __NSEC_MAX; > } > > @@ -128,8 +136,10 @@ static inline void uk_semaphore_up(struct uk_semaphore > *s) > > irqf = ukplat_lcpu_save_irqf(); > ++s->count; > +#ifdef UK_SEMAPHORE_DEBUG > uk_pr_debug("Increased semaphore %p to %ld\n", > s, s->count); > +#endif > uk_waitq_wake_up(&s->wait); > ukplat_lcpu_restore_irqf(irqf); > } > diff --git a/lib/uklock/semaphore.c b/lib/uklock/semaphore.c > index c9747100..5b182359 100644 > --- a/lib/uklock/semaphore.c > +++ b/lib/uklock/semaphore.c > @@ -5,6 +5,8 @@ void uk_semaphore_init(struct uk_semaphore *s, long count) > s->count = count; > uk_waitq_init(&s->wait); > > +#ifdef UK_SEMAPHORE_DEBUG > uk_pr_debug("Initialized semaphore %p with %ld\n", > s, s->count); > +#endif > } > -- > 2.11.0 > -- Yuri Volchkov Software Specialist NEC Europe Ltd Kurfürsten-Anlage 36 D-69115 Heidelberg _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |