From: Robin Murphy <robin.murphy@arm.com>
To: Dongli Zhang <dongli.zhang@oracle.com>, Yu Zhao <yuzhao@google.com>
Cc: Christoph Hellwig <hch@infradead.org>,
Marek Szyprowski <m.szyprowski@samsung.com>,
iommu@lists.linux.dev, linux-mips@vger.kernel.org,
linux-kernel <linux-kernel@vger.kernel.org>,
kernel test robot <lkp@intel.com>,
Dan Carpenter <dan.carpenter@oracle.com>
Subject: Re: [PATCH v2] Revert "swiotlb: panic if nslabs is too small"
Date: Thu, 1 Sep 2022 13:24:18 +0100 [thread overview]
Message-ID: <ccacc117-0be8-2cd3-480b-dcbca5485d6f@arm.com> (raw)
In-Reply-To: <982a4b95-0ab5-f18e-cbaf-1f503a35ada7@oracle.com>
On 2022-09-01 03:18, Dongli Zhang wrote:
> Hi Yu,
>
> On 8/31/22 5:24 PM, Yu Zhao wrote:
>> On Wed, Aug 31, 2022 at 4:20 PM Dongli Zhang <dongli.zhang@oracle.com> wrote:
>>>
>>> Hi Yu,
>>>
>>> As we discussed in the past, the swiotlb panic on purpose
>>
>> We should not panic() at all, especially on a platform that has been
>> working well since at least 4.14.
>>
>> Did you check out this link I previously shared with you?
>> https://urldefense.com/v3/__https://lore.kernel.org/r/CAHk-=wit-DmhMfQErY29JSPjFgebx_Ld*pnerc4J2Ag990WwAA@mail.gmail.com/__;Kw!!ACWV5N9M2RV99hQ!PXzSLurBv7VqxI1451TV4zO3_-BYj4grk-HYBsXzSnA6nZcXaBzdsQ-rF2DAqlICSRPMt-efYv_Uu2A2CQ$
>
> Thanks for sharing! I used to read that in the past. To be honest I am still
> confused on when to use BUG/panic and when to not, as I still see many usage in
> some patches.
>
> Just about swiotlb, it may panic in many cases during boot, e.g.,:
>
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1955655
That's really a different thing, but frankly that panic is also bogus
anyway - there is no good reason to have different behaviour for failing
to allocate a buffer slot because the buffer is full vs. failing to
allocate a buffer slot because there is no buffer. If we can fail
gracefully some of the time we should fail gracefully all of the time.
Yes, there's a slight difference in that one case has a chance of
succeeding if retried in future while the other definitely doesn't, but
it's not SWIOTLB's place to decide that the entire system is terminally
unusable just because some device can't make a DMA mapping.
Similarly for the other panics at init time, which seem to have
originated from a mechanical refactoring of the memblock API with the
expectation of preserving the existing behaviour at the time. Those have
then just been moved around without anyone thinking to question why
they're there, and if memblock *does* now return usable error
information, why don't we start handling that error properly like we do
in other init paths?
Really there is no reason to panic anywhere in SWIOTLB. This is old
code, things have moved on over the last 20 years, and we can and should
do much better. I'll add this to my list of things to look at for
cleanup once I find a bit of free time, unless anyone else fancies
taking it on.
Thanks,
Robin.
next prev parent reply other threads:[~2022-09-01 12:24 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-29 23:29 [PATCH] Revert "swiotlb: panic if nslabs is too small" Yu Zhao
2022-08-31 6:01 ` Dan Carpenter
2022-08-31 6:19 ` Yu Zhao
2022-08-31 6:38 ` [PATCH v2] " Yu Zhao
2022-08-31 22:20 ` Dongli Zhang
2022-09-01 0:24 ` Yu Zhao
2022-09-01 2:18 ` Dongli Zhang
2022-09-01 12:24 ` Robin Murphy [this message]
2022-09-01 16:46 ` Dongli Zhang
2022-09-07 8:39 ` Christoph Hellwig
2022-08-31 9:17 ` [PATCH] " kernel test robot
2022-08-31 13:42 ` [swiotlb] b253fbc6b9: WARNING:at_kernel/dma/direct.h:#dma_direct_map_page kernel test robot
2022-08-31 23:52 ` Yu Zhao
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=ccacc117-0be8-2cd3-480b-dcbca5485d6f@arm.com \
--to=robin.murphy@arm.com \
--cc=dan.carpenter@oracle.com \
--cc=dongli.zhang@oracle.com \
--cc=hch@infradead.org \
--cc=iommu@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=lkp@intel.com \
--cc=m.szyprowski@samsung.com \
--cc=yuzhao@google.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