All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: Lu Baolu <baolu.lu@linux.intel.com>, joro@8bytes.org, will@kernel.org
Cc: iommu@lists.linux-foundation.org, sven@svenpeter.dev,
	robdclark@gmail.com, m.szyprowski@samsung.com,
	yong.wu@mediatek.com, mjrosato@linux.ibm.com,
	gerald.schaefer@linux.ibm.com, zhang.lyra@gmail.com,
	thierry.reding@gmail.com, vdumpa@nvidia.com,
	jean-philippe@linaro.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 02/13] iommu: Move bus setup to IOMMU device registration
Date: Tue, 19 Apr 2022 08:20:22 +0100	[thread overview]
Message-ID: <7f693a3a-bbab-237a-af9a-4395e501a5b2@arm.com> (raw)
In-Reply-To: <d928d256-b1bc-2d45-a9c3-382edfe67b80@linux.intel.com>

On 2022-04-19 00:37, Lu Baolu wrote:
> On 2022/4/19 6:09, Robin Murphy wrote:
>> On 2022-04-16 01:04, Lu Baolu wrote:
>>> On 2022/4/14 20:42, Robin Murphy wrote:
>>>> @@ -1883,27 +1900,12 @@ static int iommu_bus_init(struct bus_type *bus)
>>>>    */
>>>>   int bus_set_iommu(struct bus_type *bus, const struct iommu_ops *ops)
>>>>   {
>>>> -    int err;
>>>> -
>>>> -    if (ops == NULL) {
>>>> -        bus->iommu_ops = NULL;
>>>> -        return 0;
>>>> -    }
>>>> -
>>>> -    if (bus->iommu_ops != NULL)
>>>> +    if (bus->iommu_ops && ops && bus->iommu_ops != ops)
>>>>           return -EBUSY;
>>>>       bus->iommu_ops = ops;
>>>
>>> Do we still need to keep above lines in bus_set_iommu()?
>>
>> It preserves the existing behaviour until each callsite and its 
>> associated error handling are removed later on, which seems like as 
>> good a thing to do as any. Since I'm already relaxing 
>> iommu_device_register() to a warn-but-continue behaviour while it 
>> keeps the bus ops on life-support internally, I figured not changing 
>> too much at once would make it easier to bisect any potential issues 
>> arising from this first step.
> 
> Fair enough. Thank you for the explanation.
> 
> Do you have a public tree that I could pull these patches and try them
> on an Intel hardware? Or perhaps you have done this? I like the whole
> idea of this series, but it's better to try it with a real hardware.

I haven't bothered with separate branches since there's so many 
different pieces in-flight, but my complete (unstable) development 
branch can be found here:

https://gitlab.arm.com/linux-arm/linux-rm/-/commits/iommu/bus

For now I'd recommend winding the head back to "iommu: Clean up 
bus_set_iommu()" for testing - some of the patches above that have 
already been posted and picked up by their respective subsystems, but 
others are incomplete and barely compile-tested. I'll probably rearrange 
it later this week to better reflect what's happened so far.

Cheers,
Robin.

WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com>
To: Lu Baolu <baolu.lu@linux.intel.com>, joro@8bytes.org, will@kernel.org
Cc: jean-philippe@linaro.org, zhang.lyra@gmail.com,
	linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org,
	thierry.reding@gmail.com, linux-arm-kernel@lists.infradead.org,
	gerald.schaefer@linux.ibm.com
Subject: Re: [PATCH 02/13] iommu: Move bus setup to IOMMU device registration
Date: Tue, 19 Apr 2022 08:20:22 +0100	[thread overview]
Message-ID: <7f693a3a-bbab-237a-af9a-4395e501a5b2@arm.com> (raw)
In-Reply-To: <d928d256-b1bc-2d45-a9c3-382edfe67b80@linux.intel.com>

On 2022-04-19 00:37, Lu Baolu wrote:
> On 2022/4/19 6:09, Robin Murphy wrote:
>> On 2022-04-16 01:04, Lu Baolu wrote:
>>> On 2022/4/14 20:42, Robin Murphy wrote:
>>>> @@ -1883,27 +1900,12 @@ static int iommu_bus_init(struct bus_type *bus)
>>>>    */
>>>>   int bus_set_iommu(struct bus_type *bus, const struct iommu_ops *ops)
>>>>   {
>>>> -    int err;
>>>> -
>>>> -    if (ops == NULL) {
>>>> -        bus->iommu_ops = NULL;
>>>> -        return 0;
>>>> -    }
>>>> -
>>>> -    if (bus->iommu_ops != NULL)
>>>> +    if (bus->iommu_ops && ops && bus->iommu_ops != ops)
>>>>           return -EBUSY;
>>>>       bus->iommu_ops = ops;
>>>
>>> Do we still need to keep above lines in bus_set_iommu()?
>>
>> It preserves the existing behaviour until each callsite and its 
>> associated error handling are removed later on, which seems like as 
>> good a thing to do as any. Since I'm already relaxing 
>> iommu_device_register() to a warn-but-continue behaviour while it 
>> keeps the bus ops on life-support internally, I figured not changing 
>> too much at once would make it easier to bisect any potential issues 
>> arising from this first step.
> 
> Fair enough. Thank you for the explanation.
> 
> Do you have a public tree that I could pull these patches and try them
> on an Intel hardware? Or perhaps you have done this? I like the whole
> idea of this series, but it's better to try it with a real hardware.

I haven't bothered with separate branches since there's so many 
different pieces in-flight, but my complete (unstable) development 
branch can be found here:

https://gitlab.arm.com/linux-arm/linux-rm/-/commits/iommu/bus

For now I'd recommend winding the head back to "iommu: Clean up 
bus_set_iommu()" for testing - some of the patches above that have 
already been posted and picked up by their respective subsystems, but 
others are incomplete and barely compile-tested. I'll probably rearrange 
it later this week to better reflect what's happened so far.

Cheers,
Robin.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com>
To: Lu Baolu <baolu.lu@linux.intel.com>, joro@8bytes.org, will@kernel.org
Cc: jean-philippe@linaro.org, mjrosato@linux.ibm.com,
	sven@svenpeter.dev, zhang.lyra@gmail.com, robdclark@gmail.com,
	linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org,
	thierry.reding@gmail.com, linux-arm-kernel@lists.infradead.org,
	gerald.schaefer@linux.ibm.com, yong.wu@mediatek.com,
	m.szyprowski@samsung.com
Subject: Re: [PATCH 02/13] iommu: Move bus setup to IOMMU device registration
Date: Tue, 19 Apr 2022 08:20:22 +0100	[thread overview]
Message-ID: <7f693a3a-bbab-237a-af9a-4395e501a5b2@arm.com> (raw)
In-Reply-To: <d928d256-b1bc-2d45-a9c3-382edfe67b80@linux.intel.com>

On 2022-04-19 00:37, Lu Baolu wrote:
> On 2022/4/19 6:09, Robin Murphy wrote:
>> On 2022-04-16 01:04, Lu Baolu wrote:
>>> On 2022/4/14 20:42, Robin Murphy wrote:
>>>> @@ -1883,27 +1900,12 @@ static int iommu_bus_init(struct bus_type *bus)
>>>>    */
>>>>   int bus_set_iommu(struct bus_type *bus, const struct iommu_ops *ops)
>>>>   {
>>>> -    int err;
>>>> -
>>>> -    if (ops == NULL) {
>>>> -        bus->iommu_ops = NULL;
>>>> -        return 0;
>>>> -    }
>>>> -
>>>> -    if (bus->iommu_ops != NULL)
>>>> +    if (bus->iommu_ops && ops && bus->iommu_ops != ops)
>>>>           return -EBUSY;
>>>>       bus->iommu_ops = ops;
>>>
>>> Do we still need to keep above lines in bus_set_iommu()?
>>
>> It preserves the existing behaviour until each callsite and its 
>> associated error handling are removed later on, which seems like as 
>> good a thing to do as any. Since I'm already relaxing 
>> iommu_device_register() to a warn-but-continue behaviour while it 
>> keeps the bus ops on life-support internally, I figured not changing 
>> too much at once would make it easier to bisect any potential issues 
>> arising from this first step.
> 
> Fair enough. Thank you for the explanation.
> 
> Do you have a public tree that I could pull these patches and try them
> on an Intel hardware? Or perhaps you have done this? I like the whole
> idea of this series, but it's better to try it with a real hardware.

I haven't bothered with separate branches since there's so many 
different pieces in-flight, but my complete (unstable) development 
branch can be found here:

https://gitlab.arm.com/linux-arm/linux-rm/-/commits/iommu/bus

For now I'd recommend winding the head back to "iommu: Clean up 
bus_set_iommu()" for testing - some of the patches above that have 
already been posted and picked up by their respective subsystems, but 
others are incomplete and barely compile-tested. I'll probably rearrange 
it later this week to better reflect what's happened so far.

Cheers,
Robin.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-04-19  7:20 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20220414124252eucas1p1f2d8689ef5d281ea70d619888108d2fe@eucas1p1.samsung.com>
2022-04-14 12:42 ` [PATCH 00/13] iommu: Retire bus_set_iommu() Robin Murphy
2022-04-14 12:42   ` Robin Murphy
2022-04-14 12:42   ` Robin Murphy
2022-04-14 12:42   ` [PATCH 01/13] iommu: Always register bus notifiers Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42   ` [PATCH 02/13] iommu: Move bus setup to IOMMU device registration Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-16  0:04     ` Lu Baolu
2022-04-16  0:04       ` Lu Baolu
2022-04-16  0:04       ` Lu Baolu
2022-04-18 22:09       ` Robin Murphy
2022-04-18 22:09         ` Robin Murphy
2022-04-18 22:09         ` Robin Murphy
2022-04-18 23:37         ` Lu Baolu
2022-04-18 23:37           ` Lu Baolu
2022-04-18 23:37           ` Lu Baolu
2022-04-19  7:20           ` Robin Murphy [this message]
2022-04-19  7:20             ` Robin Murphy
2022-04-19  7:20             ` Robin Murphy
2022-04-19 10:13             ` Lu Baolu
2022-04-19 10:13               ` Lu Baolu
2022-04-19 10:13               ` Lu Baolu
2022-04-23  8:01             ` Lu Baolu
2022-04-23  8:01               ` Lu Baolu
2022-04-23  8:01               ` Lu Baolu
2022-04-23  8:37               ` Robin Murphy
2022-04-23  8:37                 ` Robin Murphy
2022-04-23  8:37                 ` Robin Murphy
2022-04-23  8:51                 ` Lu Baolu
2022-04-23  8:51                   ` Lu Baolu
2022-04-23  8:51                   ` Lu Baolu
2022-04-23  9:00                   ` Lu Baolu
2022-04-23  9:00                     ` Lu Baolu
2022-04-23  9:00                     ` Lu Baolu
2022-04-23  9:41                     ` Lu Baolu
2022-04-23  9:41                       ` Lu Baolu
2022-04-23  9:41                       ` Lu Baolu
2022-04-22 18:37     ` Krishna Reddy via iommu
2022-04-22 18:37       ` Krishna Reddy
2022-04-22 18:37       ` Krishna Reddy
2022-04-22 19:02       ` Robin Murphy
2022-04-22 19:02         ` Robin Murphy
2022-04-22 19:02         ` Robin Murphy
2022-04-14 12:42   ` [PATCH 03/13] iommu/amd: Clean up bus_set_iommu() Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42   ` [PATCH 04/13] iommu/arm-smmu: " Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-19 14:40     ` Will Deacon
2022-04-19 14:40       ` Will Deacon
2022-04-19 14:40       ` Will Deacon
2022-04-20 16:05       ` Robin Murphy
2022-04-20 16:05         ` Robin Murphy
2022-04-20 16:05         ` Robin Murphy
2022-04-21  8:33         ` Will Deacon
2022-04-21  8:33           ` Will Deacon
2022-04-21  8:33           ` Will Deacon
2022-04-14 12:42   ` [PATCH 05/13] iommu/arm-smmu-v3: " Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-19 14:42     ` Will Deacon
2022-04-19 14:42       ` Will Deacon
2022-04-19 14:42       ` Will Deacon
2022-04-14 12:42   ` [PATCH 06/13] iommu/dart: " Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-15 14:28     ` Sven Peter
2022-04-15 14:28       ` Sven Peter via iommu
2022-04-15 14:28       ` Sven Peter
2022-04-14 12:42   ` [PATCH 07/13] iommu/exynos: " Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42   ` [PATCH 08/13] iommu/ipmmu-vmsa: " Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42   ` [PATCH 09/13] iommu/mtk: " Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42   ` [PATCH 10/13] iommu/omap: " Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42   ` [PATCH 11/13] iommu/tegra-smmu: " Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42   ` [PATCH 12/13] iommu/virtio: " Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-21 17:12     ` Jean-Philippe Brucker
2022-04-21 17:12       ` Jean-Philippe Brucker
2022-04-21 17:12       ` Jean-Philippe Brucker
2022-04-21 19:44       ` Robin Murphy
2022-04-21 19:44         ` Robin Murphy
2022-04-21 19:44         ` Robin Murphy
2022-04-14 12:42   ` [PATCH 13/13] iommu: " Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 12:42     ` Robin Murphy
2022-04-14 21:00   ` [PATCH 00/13] iommu: Retire bus_set_iommu() Marek Szyprowski
2022-04-14 21:00     ` Marek Szyprowski
2022-04-14 21:00     ` Marek Szyprowski

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=7f693a3a-bbab-237a-af9a-4395e501a5b2@arm.com \
    --to=robin.murphy@arm.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=gerald.schaefer@linux.ibm.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jean-philippe@linaro.org \
    --cc=joro@8bytes.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=mjrosato@linux.ibm.com \
    --cc=robdclark@gmail.com \
    --cc=sven@svenpeter.dev \
    --cc=thierry.reding@gmail.com \
    --cc=vdumpa@nvidia.com \
    --cc=will@kernel.org \
    --cc=yong.wu@mediatek.com \
    --cc=zhang.lyra@gmail.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 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.