[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 12/15] xen: trace tasklets



On Fri, 2017-06-09 at 04:59 -0600, Jan Beulich wrote:
> > > > On 01.06.17 at 19:35, <dario.faggioli@xxxxxxxxxx> wrote:
> > --- a/xen/common/tasklet.c
> > +++ b/xen/common/tasklet.c
> > @@ -30,10 +30,87 @@ static DEFINE_PER_CPU(struct list_head, 
> > [...]

> > +#else
> > 
> > +#define trace_enqueue(t)     do {} while ( 0 )
> > +#define trace_schedule(t)    do {} while ( 0 )
> > +#define trace_work(t)        do {} while ( 0 )
> > +#define trace_kill(t)        do {} while ( 0 )
> > +#define trace_migrate()      do {} while ( 0 )
> > +#define trace_init(t)        do {} while ( 0 )
> > +#endif /* TRACE_TASKLETS */
> 
> Seeing how such additions add up, I think I'd prefer if you put them
> into header files instead of cluttering source files this way. You
> could have one such header per traceable component.
> 
Right, good point.

As a matter of fact, the components dealt with in this series, have
their own header already, such as:

 xen/include/xen/rcupdate.h
 xen/include/xen/timer.h
 xen/include/xen/softirq.h
 xen/include/xen/tasklet.h

I guess I can put these there?

> > @@ -178,6 +258,11 @@ static void migrate_tasklets_from_cpu(unsigned
> > int cpu, struct list_head *list)
> >  
> >      spin_lock_irqsave(&tasklet_lock, flags);
> >  
> > +    if ( list_empty(list) )
> > +        goto out;
> > +
> > +    trace_migrate();
> > +
> >      while ( !list_empty(list) )
> 
> Two alternatives:
> 
>     if ( !list_empty(list) )
>         trace_migrate();
> 
> (avoiding the goto) or
> 
>     if ( list_empty(list) )
>         goto out;
> 
>     trace_migrate();
> 
>     do {
>         ...
>     } while ( !list_empty(list) );
> 
> (avoiding the redundant check).
> 
Sure.

Thanks and Regards,
Dario
-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.