Re: [PATCH 0/2] Drivers: hv: vmbus: make bus ids in sysfs persistent

From: Vitaly Kuznetsov
Date: Mon Aug 15 2016 - 12:14:14 EST


KY Srinivasan <kys@xxxxxxxxxxxxx> writes:

>> -----Original Message-----
>> From: Vitaly Kuznetsov [mailto:vkuznets@xxxxxxxxxx]
>> Sent: Thursday, August 11, 2016 2:17 AM
>> To: KY Srinivasan <kys@xxxxxxxxxxxxx>
>> Cc: devel@xxxxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Haiyang Zhang
>> <haiyangz@xxxxxxxxxxxxx>
>> Subject: Re: [PATCH 0/2] Drivers: hv: vmbus: make bus ids in sysfs persistent
>>
>> KY Srinivasan <kys@xxxxxxxxxxxxx> writes:
>>
>> >> -----Original Message-----
>> >> From: Vitaly Kuznetsov [mailto:vkuznets@xxxxxxxxxx]
>> >> Sent: Tuesday, August 9, 2016 1:46 AM
>> >> To: devel@xxxxxxxxxxxxxxxxxxxxxx
>> >> Cc: linux-kernel@xxxxxxxxxxxxxxx; Haiyang Zhang
>> >> <haiyangz@xxxxxxxxxxxxx>; KY Srinivasan <kys@xxxxxxxxxxxxx>
>> >> Subject: [PATCH 0/2] Drivers: hv: vmbus: make bus ids in sysfs
>> >> persistent
>> >>
>> >> Bus ids for VMBus devices in /sys/bus/vmbus/devices/ are not
>> >> guaranteed to be persistent across reboot or kernel restart and this
>> >> causes problems for some tools. E.g. kexec tools use these ids to identify
>> NIC on kdump.
>> >> Fix the issue by using relid from channel offer as the unique id
>> >> instead of an auto incremented counter.
>> >
>> > Relids are not persistent. It is only valid between a channel offer
>> > message and a relid released message (or an unload or initiate contact
>> > message, which invalidates all channels). This is an opaque number
>> > that the root generates and uses to track channels. There is no
>> > guarantee that the same type of channel (networking, storage, etc)
>> > will get the same relid on each reboot.
>> >
>>
>> Thanks for the info,
>>
>> can we use device_id (offermsg.offer.if_instance.b) instead?
>
> I think you could; I am going to verify and get back to you on this.

Thanks!

> Sometime back I removed all the non-determinism in the vmbus device
> ID generation. Now, the current scheme of generating the device IDs does
> result in persistent IDs across boot (as long as the host presents the devices
> to the guest in the same order across boots). Do you have this fix?

Yes, I think I do. The issue I'm trying to address happens rearly on
kdump when we get devices present to us in a different order.

--
Vitaly