On Sat, 2021-06-19 at 13:14 +0530, Manivannan Sadhasivam wrote: > On Fri, Jun 18, 2021 at 03:23:05PM -0700, Bhaumik Bhatt wrote: > > > > With spin_lock_bh(), it is possible that a tasklet processing data > > events gets scheduled out if another higher priority tasklet is Needs some re-wording. What we observed was threded irq storms and in the past we observed some RT tasks preempting MHI tasklet for long time. > > ready to run. While the tasklet is sleeping, it can hold the event Not allowed to sleep in tasklet context. > > ring spinlock and block another tasklet, for example, one > > processing > > an M0 state change event, from acquiring it. This can starve the > > core which blocks in an attempt to acquire the spinlock until it > > gets released. Fix this issue by disabling pre-emption on the core > > processing data events and allow it to run to completion such that > > other tasklets do not block for long periods. > > > Are you sure? > > IIUC, the tasklets priority is only used while trying to schedule the > next pending tasklet. But I don't think a high priority tasklet can > preempt the low priority one. > > Please correct me if I'm wrong. > > Thanks, > Mani > [..] -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project