From: Alex Williamson <alex.williamson@redhat.com>
To: Eric Auger <eric.auger@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
kvm@vger.kernel.org, patches@linaro.org,
linux-kernel@vger.kernel.org, eric.auger@st.com,
kvmarm@lists.cs.columbia.edu,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 6/6] vfio: platform: move get/put reset at open/release
Date: Thu, 22 Oct 2015 09:40:44 -0600 [thread overview]
Message-ID: <1445528444.5050.8.camel@redhat.com> (raw)
In-Reply-To: <5628F17C.9030907@linaro.org>
On Thu, 2015-10-22 at 16:23 +0200, Eric Auger wrote:
> On 10/22/2015 04:10 PM, Arnd Bergmann wrote:
> > On Thursday 22 October 2015 15:26:55 Eric Auger wrote:
> >>>> @@ -181,6 +182,8 @@ static int vfio_platform_open(void *device_data)
> >>>> if (ret)
> >>>> goto err_irq;
> >>>>
> >>>> + vfio_platform_get_reset(vdev);
> >>>> +
> >>>> if (vdev->reset)
> >>>> vdev->reset(vdev);
> >>>>
> >>>
> >>> This needs some error handling to ensure that the open() fails
> >>> if there is no reset handler.
> >>
> >> Is that really what we want? The code was meant to allow the use case
> >> where the VFIO platform driver would be used without such reset module.
> >>
> >> I think the imperious need for a reset module depends on the device and
> >> more importantly depends on the IOMMU mapping. With QEMU VFIO
> >> integration this is needed because the whole VM memory is IOMMU mapped
> >> but in a simpler user-space driver context, we might live without.
> >>
> >> Any thought?
> >
> > I would think we need a reset driver for any device that can start DMA,
> > otherwise things can go wrong as soon as you attach it to a different domain
> > while there is ongoing DMA.
> >
> > Maybe we could just allow devices to be attached without a reset handler,
> > but then disallow DMA on them?
>
> Well I am tempted to think that most assigned devices will perform DMA
> accesses so to me this somehow comes to the same result, ie disallowing
> functional passthrough for devices not properly/fully integrated.
>
> Alex/Baptiste, any opinion on this?
We have an IOMMU and the user doesn't get access to the device until the
IOMMU domain is established. So, ideally yes, we should have a way to
reset the device, but I don't see it as a requirement. Thanks,
Alex
WARNING: multiple messages have this Message-ID (diff)
From: alex.williamson@redhat.com (Alex Williamson)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 6/6] vfio: platform: move get/put reset at open/release
Date: Thu, 22 Oct 2015 09:40:44 -0600 [thread overview]
Message-ID: <1445528444.5050.8.camel@redhat.com> (raw)
In-Reply-To: <5628F17C.9030907@linaro.org>
On Thu, 2015-10-22 at 16:23 +0200, Eric Auger wrote:
> On 10/22/2015 04:10 PM, Arnd Bergmann wrote:
> > On Thursday 22 October 2015 15:26:55 Eric Auger wrote:
> >>>> @@ -181,6 +182,8 @@ static int vfio_platform_open(void *device_data)
> >>>> if (ret)
> >>>> goto err_irq;
> >>>>
> >>>> + vfio_platform_get_reset(vdev);
> >>>> +
> >>>> if (vdev->reset)
> >>>> vdev->reset(vdev);
> >>>>
> >>>
> >>> This needs some error handling to ensure that the open() fails
> >>> if there is no reset handler.
> >>
> >> Is that really what we want? The code was meant to allow the use case
> >> where the VFIO platform driver would be used without such reset module.
> >>
> >> I think the imperious need for a reset module depends on the device and
> >> more importantly depends on the IOMMU mapping. With QEMU VFIO
> >> integration this is needed because the whole VM memory is IOMMU mapped
> >> but in a simpler user-space driver context, we might live without.
> >>
> >> Any thought?
> >
> > I would think we need a reset driver for any device that can start DMA,
> > otherwise things can go wrong as soon as you attach it to a different domain
> > while there is ongoing DMA.
> >
> > Maybe we could just allow devices to be attached without a reset handler,
> > but then disallow DMA on them?
>
> Well I am tempted to think that most assigned devices will perform DMA
> accesses so to me this somehow comes to the same result, ie disallowing
> functional passthrough for devices not properly/fully integrated.
>
> Alex/Baptiste, any opinion on this?
We have an IOMMU and the user doesn't get access to the device until the
IOMMU domain is established. So, ideally yes, we should have a way to
reset the device, but I don't see it as a requirement. Thanks,
Alex
WARNING: multiple messages have this Message-ID (diff)
From: Alex Williamson <alex.williamson@redhat.com>
To: Eric Auger <eric.auger@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
eric.auger@st.com, b.reynal@virtualopensystems.com,
linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
christoffer.dall@linaro.org, linux-kernel@vger.kernel.org,
patches@linaro.org
Subject: Re: [PATCH v2 6/6] vfio: platform: move get/put reset at open/release
Date: Thu, 22 Oct 2015 09:40:44 -0600 [thread overview]
Message-ID: <1445528444.5050.8.camel@redhat.com> (raw)
In-Reply-To: <5628F17C.9030907@linaro.org>
On Thu, 2015-10-22 at 16:23 +0200, Eric Auger wrote:
> On 10/22/2015 04:10 PM, Arnd Bergmann wrote:
> > On Thursday 22 October 2015 15:26:55 Eric Auger wrote:
> >>>> @@ -181,6 +182,8 @@ static int vfio_platform_open(void *device_data)
> >>>> if (ret)
> >>>> goto err_irq;
> >>>>
> >>>> + vfio_platform_get_reset(vdev);
> >>>> +
> >>>> if (vdev->reset)
> >>>> vdev->reset(vdev);
> >>>>
> >>>
> >>> This needs some error handling to ensure that the open() fails
> >>> if there is no reset handler.
> >>
> >> Is that really what we want? The code was meant to allow the use case
> >> where the VFIO platform driver would be used without such reset module.
> >>
> >> I think the imperious need for a reset module depends on the device and
> >> more importantly depends on the IOMMU mapping. With QEMU VFIO
> >> integration this is needed because the whole VM memory is IOMMU mapped
> >> but in a simpler user-space driver context, we might live without.
> >>
> >> Any thought?
> >
> > I would think we need a reset driver for any device that can start DMA,
> > otherwise things can go wrong as soon as you attach it to a different domain
> > while there is ongoing DMA.
> >
> > Maybe we could just allow devices to be attached without a reset handler,
> > but then disallow DMA on them?
>
> Well I am tempted to think that most assigned devices will perform DMA
> accesses so to me this somehow comes to the same result, ie disallowing
> functional passthrough for devices not properly/fully integrated.
>
> Alex/Baptiste, any opinion on this?
We have an IOMMU and the user doesn't get access to the device until the
IOMMU domain is established. So, ideally yes, we should have a way to
reset the device, but I don't see it as a requirement. Thanks,
Alex
next prev parent reply other threads:[~2015-10-22 15:38 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-22 9:41 [PATCH v2 0/6] VFIO platform reset module rework Eric Auger
2015-10-22 9:41 ` Eric Auger
2015-10-22 9:41 ` [PATCH v2 1/6] vfio: platform: add capability to register a reset function Eric Auger
2015-10-22 9:41 ` Eric Auger
2015-10-22 9:41 ` Eric Auger
2015-10-22 10:06 ` Arnd Bergmann
2015-10-22 10:06 ` Arnd Bergmann
2015-10-22 9:41 ` [PATCH v2 2/6] vfio: platform: reset: add vfio_platform_reset_private.h Eric Auger
2015-10-22 9:41 ` Eric Auger
2015-10-22 9:41 ` Eric Auger
2015-10-22 10:12 ` Arnd Bergmann
2015-10-22 10:12 ` Arnd Bergmann
2015-10-22 10:12 ` Arnd Bergmann
2015-10-22 9:41 ` [PATCH v2 3/6] vfio: platform: reset: calxedaxgmac: add reset function registration Eric Auger
2015-10-22 9:41 ` Eric Auger
2015-10-22 9:41 ` Eric Auger
2015-10-22 10:13 ` Arnd Bergmann
2015-10-22 10:13 ` Arnd Bergmann
2015-10-22 11:54 ` Eric Auger
2015-10-22 11:54 ` Eric Auger
2015-10-22 11:54 ` Eric Auger
2015-10-22 12:09 ` Arnd Bergmann
2015-10-22 12:09 ` Arnd Bergmann
2015-10-22 12:29 ` Eric Auger
2015-10-22 12:29 ` Eric Auger
2015-10-22 12:29 ` Eric Auger
2015-10-22 9:42 ` [PATCH v2 4/6] vfio: platform: add compat in vfio_platform_device Eric Auger
2015-10-22 9:42 ` Eric Auger
2015-10-22 9:42 ` Eric Auger
2015-10-22 9:42 ` [PATCH v2 5/6] vfio: platform: use list of registered reset function Eric Auger
2015-10-22 9:42 ` Eric Auger
2015-10-22 9:42 ` Eric Auger
2015-10-22 10:19 ` Arnd Bergmann
2015-10-22 10:19 ` Arnd Bergmann
2015-10-22 10:19 ` Arnd Bergmann
2015-10-22 11:46 ` Eric Auger
2015-10-22 11:46 ` Eric Auger
2015-10-22 11:46 ` Eric Auger
2015-10-22 9:42 ` [PATCH v2 6/6] vfio: platform: move get/put reset at open/release Eric Auger
2015-10-22 9:42 ` Eric Auger
2015-10-22 9:42 ` Eric Auger
2015-10-22 10:29 ` Arnd Bergmann
2015-10-22 10:29 ` Arnd Bergmann
2015-10-22 10:29 ` Arnd Bergmann
2015-10-22 11:40 ` Eric Auger
2015-10-22 11:40 ` Eric Auger
2015-10-22 12:05 ` Arnd Bergmann
2015-10-22 12:05 ` Arnd Bergmann
2015-10-22 12:27 ` Eric Auger
2015-10-22 12:27 ` Eric Auger
2015-10-22 12:27 ` Eric Auger
2015-10-22 13:26 ` Eric Auger
2015-10-22 13:26 ` Eric Auger
2015-10-22 13:26 ` Eric Auger
2015-10-22 14:10 ` Arnd Bergmann
2015-10-22 14:10 ` Arnd Bergmann
2015-10-22 14:10 ` Arnd Bergmann
2015-10-22 14:23 ` Eric Auger
2015-10-22 14:23 ` Eric Auger
2015-10-22 14:23 ` Eric Auger
2015-10-22 15:40 ` Alex Williamson [this message]
2015-10-22 15:40 ` Alex Williamson
2015-10-22 15:40 ` Alex Williamson
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=1445528444.5050.8.camel@redhat.com \
--to=alex.williamson@redhat.com \
--cc=arnd@arndb.de \
--cc=eric.auger@linaro.org \
--cc=eric.auger@st.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=patches@linaro.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.