From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: [PATCH v2 4/4] bus/vmbus: debug subchannel setup Date: Wed, 5 Dec 2018 14:11:59 -0800 Message-ID: <20181205221159.6336-4-stephen@networkplumber.org> References: <1543575881.5400.33.camel@redhat.com> <20181205221159.6336-1-stephen@networkplumber.org> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: mgamal@redhat.com, Stephen Hemminger , Stephen Hemminger To: dev@dpdk.org Return-path: Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) by dpdk.org (Postfix) with ESMTP id 9D4618E76 for ; Wed, 5 Dec 2018 23:12:24 +0100 (CET) Received: by mail-pg1-f196.google.com with SMTP id z11so9661194pgu.0 for ; Wed, 05 Dec 2018 14:12:24 -0800 (PST) In-Reply-To: <20181205221159.6336-1-stephen@networkplumber.org> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Add more instrumentation to subchannel setup to help diagnose startup issues. Signed-off-by: Stephen Hemminger --- drivers/bus/vmbus/linux/vmbus_uio.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/drivers/bus/vmbus/linux/vmbus_uio.c b/drivers/bus/vmbus/linux/vmbus_uio.c index 38df4d724ed5..09f7efdca286 100644 --- a/drivers/bus/vmbus/linux/vmbus_uio.c +++ b/drivers/bus/vmbus/linux/vmbus_uio.c @@ -357,19 +357,25 @@ int vmbus_uio_get_subchan(struct vmbus_channel *primary, continue; } - if (!vmbus_isnew_subchannel(primary, relid)) - continue; /* Already know about you */ + if (!vmbus_isnew_subchannel(primary, relid)) { + VMBUS_LOG(DEBUG, "skip already found channel: %lu", + relid); + continue; + } - if (!vmbus_uio_ring_present(dev, relid)) - continue; /* Ring may not be ready yet */ + if (!vmbus_uio_ring_present(dev, relid)) { + VMBUS_LOG(DEBUG, "ring mmap not found (yet) for: %lu", + relid); + continue; + } snprintf(subchan_path, sizeof(subchan_path), "%s/%lu", chan_path, relid); err = vmbus_uio_sysfs_read(subchan_path, "subchannel_id", &subid, UINT16_MAX); if (err) { - VMBUS_LOG(NOTICE, "invalid subchannel id %lu", - subid); + VMBUS_LOG(NOTICE, "no subchannel_id in %s:%s", + subchan_path, strerror(-err)); goto fail; } @@ -379,14 +385,14 @@ int vmbus_uio_get_subchan(struct vmbus_channel *primary, err = vmbus_uio_sysfs_read(subchan_path, "monitor_id", &monid, UINT8_MAX); if (err) { - VMBUS_LOG(NOTICE, "invalid monitor id %lu", - monid); + VMBUS_LOG(NOTICE, "no monitor_id in %s:%s", + subchan_path, strerror(-err)); goto fail; } err = vmbus_chan_create(dev, relid, subid, monid, subchan); if (err) { - VMBUS_LOG(NOTICE, "subchannel setup failed"); + VMBUS_LOG(ERR, "subchannel setup failed"); goto fail; } break; -- 2.19.2