Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1458516 > unrolled thread
| Started by | Vitaly Kuznetsov <vkuznets@redhat.com> |
|---|---|
| First post | 2016-08-09 10:50 +0200 |
| Last post | 2016-08-10 22:40 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH 0/2] Drivers: hv: vmbus: make bus ids in sysfs persistent Vitaly Kuznetsov <vkuznets@redhat.com> - 2016-08-09 10:50 +0200
[PATCH 2/2] Drivers: hv: get rid of id in struct vmbus_channel Vitaly Kuznetsov <vkuznets@redhat.com> - 2016-08-09 10:50 +0200
RE: [PATCH 0/2] Drivers: hv: vmbus: make bus ids in sysfs persistent KY Srinivasan <kys@microsoft.com> - 2016-08-10 22:40 +0200
| From | Vitaly Kuznetsov <vkuznets@redhat.com> |
|---|---|
| Date | 2016-08-09 10:50 +0200 |
| Subject | [PATCH 0/2] Drivers: hv: vmbus: make bus ids in sysfs persistent |
| Message-ID | <s4aTw-5c9-7@gated-at.bofh.it> |
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. Vitaly Kuznetsov (2): Drivers: hv: make VMBus bus ids persistent Drivers: hv: get rid of id in struct vmbus_channel drivers/hv/channel_mgmt.c | 2 -- drivers/hv/vmbus_drv.c | 2 +- include/linux/hyperv.h | 3 --- 3 files changed, 1 insertion(+), 6 deletions(-) -- 2.7.4
[toc] | [next] | [standalone]
| From | Vitaly Kuznetsov <vkuznets@redhat.com> |
|---|---|
| Date | 2016-08-09 10:50 +0200 |
| Subject | [PATCH 2/2] Drivers: hv: get rid of id in struct vmbus_channel |
| Message-ID | <s4aTw-5c9-9@gated-at.bofh.it> |
| In reply to | #1458516 |
The auto incremented counter is not being used anymore, get rid of it.
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
drivers/hv/channel_mgmt.c | 2 --
include/linux/hyperv.h | 3 ---
2 files changed, 5 deletions(-)
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index b6c1211..4b4a41d 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -251,14 +251,12 @@ EXPORT_SYMBOL_GPL(vmbus_prep_negotiate_resp);
*/
static struct vmbus_channel *alloc_channel(void)
{
- static atomic_t chan_num = ATOMIC_INIT(0);
struct vmbus_channel *channel;
channel = kzalloc(sizeof(*channel), GFP_ATOMIC);
if (!channel)
return NULL;
- channel->id = atomic_inc_return(&chan_num);
channel->acquire_ring_lock = true;
spin_lock_init(&channel->inbound_lock);
spin_lock_init(&channel->lock);
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index b10954a..d9371a7 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -701,9 +701,6 @@ struct vmbus_device {
};
struct vmbus_channel {
- /* Unique channel id */
- int id;
-
struct list_head listentry;
struct hv_device *device_obj;
--
2.7.4
[toc] | [prev] | [next] | [standalone]
| From | KY Srinivasan <kys@microsoft.com> |
|---|---|
| Date | 2016-08-10 22:40 +0200 |
| Message-ID | <s4Isb-1A3-47@gated-at.bofh.it> |
| In reply to | #1458516 |
> -----Original Message----- > From: Vitaly Kuznetsov [mailto:vkuznets@redhat.com] > Sent: Tuesday, August 9, 2016 1:46 AM > To: devel@linuxdriverproject.org > Cc: linux-kernel@vger.kernel.org; Haiyang Zhang <haiyangz@microsoft.com>; > KY Srinivasan <kys@microsoft.com> > 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. Regards, K. Y > > Vitaly Kuznetsov (2): > Drivers: hv: make VMBus bus ids persistent > Drivers: hv: get rid of id in struct vmbus_channel > > drivers/hv/channel_mgmt.c | 2 -- > drivers/hv/vmbus_drv.c | 2 +- > include/linux/hyperv.h | 3 --- > 3 files changed, 1 insertion(+), 6 deletions(-) > > -- > 2.7.4
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web