Nice tool @Ricardo! 2016-07-29 10:48 GMT-03:00 Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx>: > you can use http://lttng.org/ for analyzing this > > Regards! > > On Fri, Jul 29, 2016 at 12:44 PM, Pranay Srivastava <pranjas@xxxxxxxxx> wrote: >> On Fri, Jul 29, 2016 at 4:02 PM, Muni Sekhar <munisekharrms@xxxxxxxxx> wrote: >>> Hi All, >>> >>> I have a doubt regarding the workqueue scheduling. >>> >>> I am using the workqueue for processing the Rx Interrupt data. I am >>> calling schedule_work() on receiving the Rx interrupt from hardware. >>> >>> I calculated the time between calling the schedule_work() and >>> workqueue task actually getting executed, Here I see many cases of >>> less than 100 us(It is fairly good). >>> >>> But sometimes I see 10’s of ms and a lot in the 100’s of ms. I have >>> seen over 0.5 secs too. I would like to know why does sometimes kernel >>> takes longer time(in milli seconds) to schedule it? Is there any way >>> to reduce this time gap? >>> >>> >>> My code: >>> >>> static void my_workqueuetask(struct work_struct *work) >>> { >>> printk("In %s() \n",__func__); >>> >> You probably don't need this if it's just for your work_fn, yeah but >> if there's race between this and something else... >>> mutex_lock(&bh_mutex); >>> >>> //Do something here >>> >>> mutex_unlock(&bh_mutex); >>> } >>> >>> >>> static irqreturn_t my_irq_handler(int irq, void *dev) >>> { >>> ……; >>> >>> if(Rx Interrupt) >>> schedule_work(&rx_work); >> >> Maybe system_wq has too much already on it's plate? >> Have you tried the same with completion and a kthread? or >> with your own workqueue, overkill but you can give it a shot. >>> >>> return IRQ_HANDLED; >>> } >>> >>> -- >>> Thanks, >>> Sekhar >>> >>> _______________________________________________ >>> Kernelnewbies mailing list >>> Kernelnewbies@xxxxxxxxxxxxxxxxx >>> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies >> >> >> >> -- >> ---P.K.S >> >> _______________________________________________ >> Kernelnewbies mailing list >> Kernelnewbies@xxxxxxxxxxxxxxxxx >> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > > > -- > Ricardo Ribalda > > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies@xxxxxxxxxxxxxxxxx > https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies -- "Do or do not. There is no try" Yoda Master _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies