Message ID | 1483175588-17006-5-git-send-email-caoj.fnst@cn.fujitsu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sat, 31 Dec 2016 17:13:08 +0800 Cao jin <caoj.fnst@cn.fujitsu.com> wrote: > From: Chen Fan <chen.fan.fnst@cn.fujitsu.com> > > Add 'aer' property, let user choose whether expose the aer capability > or not. But that's not what it does, it only controls the behavior in response to non-fatal errors, the capability is exposed regardless. > Should disable aer feature by default, because only non-fatal > error is supported now. Why does that mean it should be disabled by default? What bad thing happens if we enable this opportunistically? > Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com> > Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com> > Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com> > --- > hw/vfio/pci.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c > index 9861f72..fc9db66 100644 > --- a/hw/vfio/pci.c > +++ b/hw/vfio/pci.c > @@ -3057,6 +3057,8 @@ static Property vfio_pci_dev_properties[] = { > DEFINE_PROP_UINT32("x-pci-sub-device-id", VFIOPCIDevice, > sub_device_id, PCI_ANY_ID), > DEFINE_PROP_UINT32("x-igd-gms", VFIOPCIDevice, igd_gms, 0), > + DEFINE_PROP_BIT("aer", VFIOPCIDevice, features, > + VFIO_FEATURE_ENABLE_AER_BIT, false), > /* > * TODO - support passed fds... is this necessary? > * DEFINE_PROP_STRING("vfiofd", VFIOPCIDevice, vfiofd_name),
On 01/19/2017 06:36 AM, Alex Williamson wrote: > On Sat, 31 Dec 2016 17:13:08 +0800 > Cao jin <caoj.fnst@cn.fujitsu.com> wrote: > >> From: Chen Fan <chen.fan.fnst@cn.fujitsu.com> >> >> Add 'aer' property, let user choose whether expose the aer capability >> or not. > > But that's not what it does, it only controls the behavior in response > to non-fatal errors, the capability is exposed regardless. > This commit log is legacy, and defaults to off is a result of the configuration restriction & your previous discussion, right? In current version, if 'aer' property is off, we just allocate the config space via pcie_add_capability(), we don't init the AER capability, the value is all 0s there, so does that still mean "capability is exposed regardless"? >> Should disable aer feature by default, because only non-fatal >> error is supported now. > > Why does that mean it should be disabled by default? What bad thing > happens if we enable this opportunistically? > >> Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com> >> Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com> >> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com> >> --- >> hw/vfio/pci.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c >> index 9861f72..fc9db66 100644 >> --- a/hw/vfio/pci.c >> +++ b/hw/vfio/pci.c >> @@ -3057,6 +3057,8 @@ static Property vfio_pci_dev_properties[] = { >> DEFINE_PROP_UINT32("x-pci-sub-device-id", VFIOPCIDevice, >> sub_device_id, PCI_ANY_ID), >> DEFINE_PROP_UINT32("x-igd-gms", VFIOPCIDevice, igd_gms, 0), >> + DEFINE_PROP_BIT("aer", VFIOPCIDevice, features, >> + VFIO_FEATURE_ENABLE_AER_BIT, false), >> /* >> * TODO - support passed fds... is this necessary? >> * DEFINE_PROP_STRING("vfiofd", VFIOPCIDevice, vfiofd_name), > > > > . >
On Fri, 20 Jan 2017 14:04:08 +0800 Cao jin <caoj.fnst@cn.fujitsu.com> wrote: > On 01/19/2017 06:36 AM, Alex Williamson wrote: > > On Sat, 31 Dec 2016 17:13:08 +0800 > > Cao jin <caoj.fnst@cn.fujitsu.com> wrote: > > > >> From: Chen Fan <chen.fan.fnst@cn.fujitsu.com> > >> > >> Add 'aer' property, let user choose whether expose the aer capability > >> or not. > > > > But that's not what it does, it only controls the behavior in response > > to non-fatal errors, the capability is exposed regardless. > > > > This commit log is legacy, and defaults to off is a result of the > configuration restriction & your previous discussion, right? > > In current version, if 'aer' property is off, we just allocate the > config space via pcie_add_capability(), we don't init the AER > capability, the value is all 0s there, so does that still mean > "capability is exposed regardless"? The design has changed, we no longer require a matching host and guest topology, we can more easily transparently enable non-fatal error correction. We need to reevaluate whether previous decisions are still valid, we cannot blindly assume that a requirement for a previous design still applies. Thanks, Alex > >> Should disable aer feature by default, because only non-fatal > >> error is supported now. > > > > Why does that mean it should be disabled by default? What bad thing > > happens if we enable this opportunistically? > > > >> Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com> > >> Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com> > >> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com> > >> --- > >> hw/vfio/pci.c | 2 ++ > >> 1 file changed, 2 insertions(+) > >> > >> diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c > >> index 9861f72..fc9db66 100644 > >> --- a/hw/vfio/pci.c > >> +++ b/hw/vfio/pci.c > >> @@ -3057,6 +3057,8 @@ static Property vfio_pci_dev_properties[] = { > >> DEFINE_PROP_UINT32("x-pci-sub-device-id", VFIOPCIDevice, > >> sub_device_id, PCI_ANY_ID), > >> DEFINE_PROP_UINT32("x-igd-gms", VFIOPCIDevice, igd_gms, 0), > >> + DEFINE_PROP_BIT("aer", VFIOPCIDevice, features, > >> + VFIO_FEATURE_ENABLE_AER_BIT, false), > >> /* > >> * TODO - support passed fds... is this necessary? > >> * DEFINE_PROP_STRING("vfiofd", VFIOPCIDevice, vfiofd_name), > > > > > > > > . > > >
diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 9861f72..fc9db66 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -3057,6 +3057,8 @@ static Property vfio_pci_dev_properties[] = { DEFINE_PROP_UINT32("x-pci-sub-device-id", VFIOPCIDevice, sub_device_id, PCI_ANY_ID), DEFINE_PROP_UINT32("x-igd-gms", VFIOPCIDevice, igd_gms, 0), + DEFINE_PROP_BIT("aer", VFIOPCIDevice, features, + VFIO_FEATURE_ENABLE_AER_BIT, false), /* * TODO - support passed fds... is this necessary? * DEFINE_PROP_STRING("vfiofd", VFIOPCIDevice, vfiofd_name),