[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1624298053.10055.18.camel@codeaurora.org>
Date: Mon, 21 Jun 2021 10:54:13 -0700
From: Hemant Kumar <hemantk@...eaurora.org>
To: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>,
Bhaumik Bhatt <bbhatt@...eaurora.org>
Cc: linux-arm-msm@...r.kernel.org, jhugo@...eaurora.org,
linux-kernel@...r.kernel.org, loic.poulain@...aro.org
Subject: Re: [PATCH] bus: mhi: core: Disable pre-emption for data events
tasklet processing
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
Powered by blists - more mailing lists