[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v8 15/17] vmw_pvscsi: remove unnecessary interna
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v8 15/17] vmw_pvscsi: remove unnecessary internal msi state flag |
Date: |
Tue, 14 Jun 2016 10:12:50 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
"Michael S. Tsirkin" <address@hidden> writes:
> On Fri, Jun 10, 2016 at 05:54:36PM +0800, Cao jin wrote:
>> Internal flag msi_used is uncesessary, msi_uninit() could be called
>> directly, msi_enabled() is enough to check device msi state.
>>
>> cc: Paolo Bonzini <address@hidden>
>> cc: Dmitry Fleytman <address@hidden>
>> cc: Markus Armbruster <address@hidden>
>> cc: Marcel Apfelbaum <address@hidden>
>> cc: Michael S. Tsirkin <address@hidden>
>>
>> Reviewed-by: Markus Armbruster <address@hidden>
>> Signed-off-by: Cao jin <address@hidden>
>> ---
>> hw/scsi/vmw_pvscsi.c | 12 ++----------
>> 1 file changed, 2 insertions(+), 10 deletions(-)
>>
>> diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c
>> index ecd6077..363a7ed 100644
>> --- a/hw/scsi/vmw_pvscsi.c
>> +++ b/hw/scsi/vmw_pvscsi.c
>> @@ -121,8 +121,6 @@ typedef struct {
>> uint8_t msg_ring_info_valid; /* Whether message ring
>> initialized */
>> uint8_t use_msg; /* Whether to use message ring
>> */
>>
>> - uint8_t msi_used; /* Whether MSI support was installed successfully
>> */
>> -
>> PVSCSIRingInfo rings; /* Data transfer rings manager
>> */
>> uint32_t resetting; /* Reset in progress
>> */
>>
>> @@ -362,7 +360,7 @@ pvscsi_update_irq_status(PVSCSIState *s)
>> trace_pvscsi_update_irq_level(should_raise, s->reg_interrupt_enabled,
>> s->reg_interrupt_status);
>>
>> - if (s->msi_used && msi_enabled(d)) {
>> + if (msi_enabled(d)) {
>> if (should_raise) {
>> trace_pvscsi_update_irq_msi();
>> msi_notify(d, PVSCSI_VECTOR_COMPLETION);
>> @@ -1066,9 +1064,6 @@ pvscsi_init_msi(PVSCSIState *s)
>> PVSCSI_USE_64BIT, PVSCSI_PER_VECTOR_MASK, NULL);
>> if (res < 0) {
>> trace_pvscsi_init_msi_fail(res);
>> - s->msi_used = false;
>> - } else {
>> - s->msi_used = true;
>> }
>> }
>>
>> @@ -1077,9 +1072,7 @@ pvscsi_cleanup_msi(PVSCSIState *s)
>> {
>> PCIDevice *d = PCI_DEVICE(s);
>>
>> - if (s->msi_used) {
>> - msi_uninit(d);
>> - }
>> + msi_uninit(d);
>> }
>>
>> static const MemoryRegionOps pvscsi_ops = {
>> @@ -1222,7 +1215,6 @@ static const VMStateDescription vmstate_pvscsi = {
>> VMSTATE_STRUCT_TEST(parent_obj, PVSCSIState,
>> pvscsi_vmstate_test_pci_device, 0,
>> vmstate_pci_device, PCIDevice),
>> - VMSTATE_UINT8(msi_used, PVSCSIState),
>> VMSTATE_UINT32(resetting, PVSCSIState),
>> VMSTATE_UINT64(reg_interrupt_status, PVSCSIState),
>> VMSTATE_UINT64(reg_interrupt_enabled, PVSCSIState),
>
>
> This change will break cross-version migration, we can't make it.
Oww, sorry I missed this!
The value shouldn't have been put into the migration stream, but now
it's there, we need to keep it there. Suggest:
diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c
index ecd6077..edd91ec 100644
--- a/hw/scsi/vmw_pvscsi.c
+++ b/hw/scsi/vmw_pvscsi.c
@@ -121,7 +121,7 @@ typedef struct {
uint8_t msg_ring_info_valid; /* Whether message ring initialized */
uint8_t use_msg; /* Whether to use message ring */
- uint8_t msi_used; /* Whether MSI support was installed successfully */
+ uint8_t msi_used; /* For migration compatibility */
PVSCSIRingInfo rings; /* Data transfer rings manager */
uint32_t resetting; /* Reset in progress */
@@ -362,7 +362,7 @@ pvscsi_update_irq_status(PVSCSIState *s)
trace_pvscsi_update_irq_level(should_raise, s->reg_interrupt_enabled,
s->reg_interrupt_status);
- if (s->msi_used && msi_enabled(d)) {
+ if (msi_enabled(d)) {
if (should_raise) {
trace_pvscsi_update_irq_msi();
msi_notify(d, PVSCSI_VECTOR_COMPLETION);
@@ -1077,9 +1077,7 @@ pvscsi_cleanup_msi(PVSCSIState *s)
{
PCIDevice *d = PCI_DEVICE(s);
- if (s->msi_used) {
- msi_uninit(d);
- }
+ msi_uninit(d);
}
static const MemoryRegionOps pvscsi_ops = {
- Re: [Qemu-devel] [PATCH v8 12/17] pci: Convert msi_init() to Error and fix callers to check it, (continued)
[Qemu-devel] [PATCH v8 08/17] mptsas: change msi property type, Cao jin, 2016/06/10
[Qemu-devel] [PATCH v8 10/17] pci bridge dev: change msi property type, Cao jin, 2016/06/10
[Qemu-devel] [PATCH v8 15/17] vmw_pvscsi: remove unnecessary internal msi state flag, Cao jin, 2016/06/10
[Qemu-devel] [PATCH v8 17/17] e1000e: remove unnecessary internal msi state flag, Cao jin, 2016/06/10
[Qemu-devel] [PATCH v8 16/17] vmxnet3: remove unnecessary internal msi state flag, Cao jin, 2016/06/10
[Qemu-devel] [PATCH v8 13/17] megasas: remove unnecessary megasas_use_msi(), Cao jin, 2016/06/10
Re: [Qemu-devel] [PATCH v8 00/17] Add param Error ** for msi_init(), Markus Armbruster, 2016/06/13
Re: [Qemu-devel] [PATCH v8 00/17] Add param Error ** for msi_init(), Michael S. Tsirkin, 2016/06/13