From: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
To: Robin Murphy <robin.murphy@arm.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Mike Leach <mike.leach@linaro.org>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
coresight@lists.linaro.org, Stephen Boyd <swboyd@chromium.org>
Subject: Re: [PATCH 2/2] coresight: tmc: Add shutdown callback for TMC ETR/ETF
Date: Wed, 03 Jun 2020 17:30:55 +0530 [thread overview]
Message-ID: <1549935cf69ac3a006f32eb278821027@codeaurora.org> (raw)
In-Reply-To: <bf7e8ac2-51b2-d9cb-9c4f-c311297accac@arm.com>
Hi Robin, Mathieu
On 2020-06-03 17:07, Robin Murphy wrote:
> On 2020-06-01 22:28, Mathieu Poirier wrote:
>> That being said I'm sure that dependencies on an IOMMU isn't a problem
>> confined
>> to coresight. I am adding Robin Murphy, who added this commit [1], to
>> the thread
>> in the hope that he can provide guidance on the right way to do this.
>
> Right, it's not specific to CoreSight, and it's not even specific to
> IOMMUs really. In short, blame kexec ;)
>
Yes it is not specific to coresight, we are targeting this for all
consumers/clients of SMMU(atleast on SC7180 SoC). We have display
throwing
NoC/interconnect errors[1] during reboot after SMMU is disabled.
This is also not specific to kexec either as you explained here [2]
about
a case with display which is exacly what is happening in our system [1].
[1]
https://lore.kernel.org/lkml/1591009402-681-1-git-send-email-mkrishn@codeaurora.org/
[2]
https://lore.kernel.org/lkml/5858bdac-b7f9-ac26-0c0d-c9653cef841d@arm.com/
> The fundamental thing is that devices should stop any DMA activity at
> shutdown. For a normal poweroff you can typically get away without
> doing so, but over kexec, ongoing DMA traffic may corrupt memory in
> the new kernel (at worst, I think even DMA reads could potentially
> cause unexpected cache behaviour that might lead to mishaps, given the
> right combination of memory attributes).
>
> IOMMUs merely help to make the situation more serious. For similar
> kexec reasons, they need to disable any existing translations at
> shutdown (imagine if the second kernel didn't have an IOMMU driver).
> And at that point, even the normal poweroff case becomes problematic,
> because any device DMA that hasn't been shut down beforehand is now
> not necessarily going benignly to memory as it would in the no-IOMMU
> case above, but potentially to random physical addresses, with all the
> hilarity ensuing that you would expect from that.
>
Thanks,
Sai
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a
member
of Code Aurora Forum, hosted by The Linux Foundation
WARNING: multiple messages have this Message-ID (diff)
From: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
To: Robin Murphy <robin.murphy@arm.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
linux-arm-msm@vger.kernel.org, coresight@lists.linaro.org,
linux-kernel@vger.kernel.org, Stephen Boyd <swboyd@chromium.org>,
linux-arm-kernel@lists.infradead.org,
Mike Leach <mike.leach@linaro.org>
Subject: Re: [PATCH 2/2] coresight: tmc: Add shutdown callback for TMC ETR/ETF
Date: Wed, 03 Jun 2020 17:30:55 +0530 [thread overview]
Message-ID: <1549935cf69ac3a006f32eb278821027@codeaurora.org> (raw)
In-Reply-To: <bf7e8ac2-51b2-d9cb-9c4f-c311297accac@arm.com>
Hi Robin, Mathieu
On 2020-06-03 17:07, Robin Murphy wrote:
> On 2020-06-01 22:28, Mathieu Poirier wrote:
>> That being said I'm sure that dependencies on an IOMMU isn't a problem
>> confined
>> to coresight. I am adding Robin Murphy, who added this commit [1], to
>> the thread
>> in the hope that he can provide guidance on the right way to do this.
>
> Right, it's not specific to CoreSight, and it's not even specific to
> IOMMUs really. In short, blame kexec ;)
>
Yes it is not specific to coresight, we are targeting this for all
consumers/clients of SMMU(atleast on SC7180 SoC). We have display
throwing
NoC/interconnect errors[1] during reboot after SMMU is disabled.
This is also not specific to kexec either as you explained here [2]
about
a case with display which is exacly what is happening in our system [1].
[1]
https://lore.kernel.org/lkml/1591009402-681-1-git-send-email-mkrishn@codeaurora.org/
[2]
https://lore.kernel.org/lkml/5858bdac-b7f9-ac26-0c0d-c9653cef841d@arm.com/
> The fundamental thing is that devices should stop any DMA activity at
> shutdown. For a normal poweroff you can typically get away without
> doing so, but over kexec, ongoing DMA traffic may corrupt memory in
> the new kernel (at worst, I think even DMA reads could potentially
> cause unexpected cache behaviour that might lead to mishaps, given the
> right combination of memory attributes).
>
> IOMMUs merely help to make the situation more serious. For similar
> kexec reasons, they need to disable any existing translations at
> shutdown (imagine if the second kernel didn't have an IOMMU driver).
> And at that point, even the normal poweroff case becomes problematic,
> because any device DMA that hasn't been shut down beforehand is now
> not necessarily going benignly to memory as it would in the no-IOMMU
> case above, but potentially to random physical addresses, with all the
> hilarity ensuing that you would expect from that.
>
Thanks,
Sai
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a
member
of Code Aurora Forum, hosted by The Linux Foundation
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-06-03 12:01 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-01 8:02 [PATCH 0/2] coresight: tmc: Add shutdown callback for TMC ETR/ETF Sai Prakash Ranjan
2020-06-01 8:02 ` Sai Prakash Ranjan
2020-06-01 8:02 ` [PATCH 1/2] coresight: tmc: Add enable flag to indicate the status of ETR/ETF Sai Prakash Ranjan
2020-06-01 8:02 ` Sai Prakash Ranjan
2020-06-01 13:27 ` Mike Leach
2020-06-01 13:27 ` Mike Leach
2020-06-01 17:13 ` Sai Prakash Ranjan
2020-06-01 17:13 ` Sai Prakash Ranjan
2020-06-01 8:02 ` [PATCH 2/2] coresight: tmc: Add shutdown callback for TMC ETR/ETF Sai Prakash Ranjan
2020-06-01 8:02 ` Sai Prakash Ranjan
2020-06-01 13:35 ` Mike Leach
2020-06-01 13:35 ` Mike Leach
2020-06-01 17:15 ` Sai Prakash Ranjan
2020-06-01 17:15 ` Sai Prakash Ranjan
2020-06-01 21:28 ` Mathieu Poirier
2020-06-01 21:28 ` Mathieu Poirier
2020-06-02 7:30 ` Sai Prakash Ranjan
2020-06-02 7:30 ` Sai Prakash Ranjan
2020-06-02 22:12 ` Mike Leach
2020-06-02 22:12 ` Mike Leach
2020-06-03 10:24 ` Sai Prakash Ranjan
2020-06-03 10:24 ` Sai Prakash Ranjan
2020-06-03 11:27 ` Mike Leach
2020-06-03 11:27 ` Mike Leach
2020-06-03 12:14 ` Sai Prakash Ranjan
2020-06-03 12:14 ` Sai Prakash Ranjan
2020-06-03 13:22 ` Mike Leach
2020-06-03 13:22 ` Mike Leach
2020-06-03 13:34 ` Robin Murphy
2020-06-03 13:34 ` Robin Murphy
2020-06-03 13:43 ` Sai Prakash Ranjan
2020-06-03 13:43 ` Sai Prakash Ranjan
2020-06-03 13:51 ` Mike Leach
2020-06-03 13:51 ` Mike Leach
2020-06-03 14:02 ` Sai Prakash Ranjan
2020-06-03 14:02 ` Sai Prakash Ranjan
2020-06-03 17:44 ` Mathieu Poirier
2020-06-03 17:44 ` Mathieu Poirier
2020-06-04 7:27 ` Sai Prakash Ranjan
2020-06-04 7:27 ` Sai Prakash Ranjan
2020-06-08 14:07 ` Sai Prakash Ranjan
2020-06-08 14:07 ` Sai Prakash Ranjan
2020-06-09 15:27 ` Mathieu Poirier
2020-06-09 15:27 ` Mathieu Poirier
2020-06-09 15:37 ` Sai Prakash Ranjan
2020-06-09 15:37 ` Sai Prakash Ranjan
2020-06-03 11:37 ` Robin Murphy
2020-06-03 11:37 ` Robin Murphy
2020-06-03 12:00 ` Sai Prakash Ranjan [this message]
2020-06-03 12:00 ` Sai Prakash Ranjan
2020-06-03 12:21 ` Robin Murphy
2020-06-03 12:21 ` Robin Murphy
2020-06-03 12:26 ` Sai Prakash Ranjan
2020-06-03 12:26 ` Sai Prakash Ranjan
2020-06-03 13:40 ` Robin Murphy
2020-06-03 13:40 ` Robin Murphy
2020-06-03 13:51 ` Sai Prakash Ranjan
2020-06-03 13:51 ` Sai Prakash Ranjan
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=1549935cf69ac3a006f32eb278821027@codeaurora.org \
--to=saiprakash.ranjan@codeaurora.org \
--cc=coresight@lists.linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=mike.leach@linaro.org \
--cc=robin.murphy@arm.com \
--cc=suzuki.poulose@arm.com \
--cc=swboyd@chromium.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.