From: Finn Thain <fthain@telegraphics.com.au>
To: "Song Bao Hua (Barry Song)" <song.bao.hua@hisilicon.com>
Cc: tanxiaofei <tanxiaofei@huawei.com>,
"jejb@linux.ibm.com" <jejb@linux.ibm.com>,
"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linuxarm@openeuler.org" <linuxarm@openeuler.org>,
"linux-m68k@vger.kernel.org" <linux-m68k@vger.kernel.org>
Subject: RE: [Linuxarm] Re: [PATCH for-next 00/32] spin lock usage optimization for SCSI drivers
Date: Wed, 24 Feb 2021 16:20:54 +1100 (AEDT) [thread overview]
Message-ID: <7293ba4c-c5ab-528f-1feb-dc59bfb0df2d@telegraphics.com.au> (raw)
In-Reply-To: <4d2f90d2157045a7b0800a4004f539ba@hisilicon.com>
On Tue, 23 Feb 2021, Song Bao Hua (Barry Song) wrote:
> >
> > Regarding m68k, your analysis overlooks the timing issue. E.g. patch
> > 11/32 could be a problem because removing the irqsave would allow PDMA
> > transfers to be interrupted. Aside from the timing issues, I agree
> > with your analysis above regarding m68k.
>
> You mentioned you need realtime so you want an interrupt to be able to
> preempt another one.
That's not what I said. But for the sake of discussion, yes, I do know
people who run Linux on ARM hardware (if Android vendor kernels can be
called "Linux") and who would benefit from realtime support on those
devices.
> Now you said you want an interrupt not to be preempted as it will make a
> timing issue.
mac_esp deliberately constrains segment sizes so that it can harmlessly
disable interrupts for the duration of the transfer.
Maybe the irqsave in this driver is over-cautious. Who knows? The PDMA
timing problem relates to SCSI bus signalling and the tolerance of real-
world SCSI devices to same. The other problem is that the PDMA logic
circuit is undocumented hardware. So there may be further timing
requirements lurking there. Therefore, patch 11/32 is too risky.
> If this PDMA transfer will have some problem when it is preempted, I
> believe we need some enhanced ways to handle this, otherwise, once we
> enable preempt_rt or threaded_irq, it will get the timing issue. so here
> it needs a clear comment and IRQF_NO_THREAD if this is the case.
>
People who require fast response times cannot expect random drivers or
platforms to meet such requirements. I fear you may be asking too much
from Mac Quadra machines.
> >
> > With regard to other architectures and platforms, in specific cases,
> > e.g. where there's never more than one IRQ involved, then I could
> > agree that your assumptions probably hold and an irqsave would be
> > probably redundant.
> >
> > When you find a redundant irqsave, to actually patch it would bring a
> > risk of regression with little or no reward. It's not my place to veto
> > this entire patch series on that basis but IMO this kind of churn is
> > misguided.
>
> Nope.
>
> I would say the real misguidance is that the code adds one lock while it
> doesn't need the lock. Easily we can add redundant locks or exaggerate
> the coverage range of locks, but the smarter way is that people add
> locks only when they really need the lock by considering concurrency and
> realtime performance.
>
You appear to be debating a strawman. No-one is advocating excessive
locking in new code.
> Thanks
> Barry
>
next prev parent reply other threads:[~2021-02-24 5:21 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1612697823-8073-1-git-send-email-tanxiaofei@huawei.com>
[not found] ` <31cd807d-3d0-ed64-60d-fde32cb3833c@telegraphics.com.au>
[not found] ` <e949a474a9284ac6951813bfc8b34945@hisilicon.com>
2021-02-09 5:06 ` [Linuxarm] Re: [PATCH for-next 00/32] spin lock usage optimization for SCSI drivers Finn Thain
2021-02-09 5:33 ` Song Bao Hua (Barry Song)
2021-02-10 0:28 ` Finn Thain
2021-02-10 0:37 ` Song Bao Hua (Barry Song)
2021-02-10 4:14 ` Finn Thain
2021-02-09 5:46 ` Song Bao Hua (Barry Song)
2021-02-10 4:16 ` Finn Thain
2021-02-10 5:14 ` Song Bao Hua (Barry Song)
2021-02-10 21:06 ` Finn Thain
2021-02-10 21:28 ` Song Bao Hua (Barry Song)
2021-02-10 22:34 ` Finn Thain
2021-02-10 23:49 ` Song Bao Hua (Barry Song)
2021-02-11 1:11 ` Finn Thain
2021-02-11 3:02 ` Song Bao Hua (Barry Song)
2021-02-11 23:58 ` Finn Thain
2021-02-12 0:21 ` Song Bao Hua (Barry Song)
2021-02-18 7:12 ` Xiaofei Tan
2021-02-20 5:18 ` Finn Thain
2021-02-22 2:04 ` Song Bao Hua (Barry Song)
2021-02-23 5:25 ` Finn Thain
2021-02-23 5:47 ` Song Bao Hua (Barry Song)
2021-02-24 5:20 ` Finn Thain [this message]
2021-02-24 10:50 ` Song Bao Hua (Barry Song)
2021-02-25 7:07 ` Finn Thain
[not found] ` <a555f4b2-4df9-7bf4-e76c-3556d5ccb4ff@huawei.com>
2021-02-09 5:11 ` Finn Thain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7293ba4c-c5ab-528f-1feb-dc59bfb0df2d@telegraphics.com.au \
--to=fthain@telegraphics.com.au \
--cc=jejb@linux.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linuxarm@openeuler.org \
--cc=martin.petersen@oracle.com \
--cc=song.bao.hua@hisilicon.com \
--cc=tanxiaofei@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox