From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751069AbdIJGJy (ORCPT ); Sun, 10 Sep 2017 02:09:54 -0400 Received: from a2nlsmtp01-02.prod.iad2.secureserver.net ([198.71.225.36]:60652 "EHLO a2nlsmtp01-02.prod.iad2.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750980AbdIJGJx (ORCPT ); Sun, 10 Sep 2017 02:09:53 -0400 x-originating-ip: 107.180.71.197 From: kys@exchange.microsoft.com To: gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, devel@linuxdriverproject.org, olaf@aepfle.de, apw@canonical.com, vkuznets@redhat.com, jasowang@redhat.com, leann.ogasawara@canonical.com, marcelo.cerri@canonical.com, sthemmin@microsoft.com Cc: Dexuan Cui , "K . Y . Srinivasan" , Haiyang Zhang Subject: [PATCH 2/5] vmbus: suppress uevents for hv_sock devices Date: Sat, 9 Sep 2017 23:08:46 -0700 Message-Id: <20170910060849.31898-2-kys@exchange.microsoft.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20170910060849.31898-1-kys@exchange.microsoft.com> References: <20170910055318.31655-1-kys@exchange.microsoft.com> <20170910060849.31898-1-kys@exchange.microsoft.com> Reply-To: kys@microsoft.com X-CMAE-Envelope: MS4wfMKRpzYx6rPn+32FI6WMnV5eDQMLin6bXXumBanwpRJj3QsFVWvL11xdA6F8+D77jbhH3fKYf2OhboLdOTUO7ezqzjhWgJmh5ZvGvnd9yduQA7y9aFNI gTmy0JBtrD0gyyHHu01EzTYlMbVJzlcOMEnCZPw6KxlBw9NU6lU99VS92cp505b8/52au8gOsJXPNlWpdUy46H/QOaU+fTH/PXi75DW+4L4YX+0yUxgUzDha KFfDsDsu4ocSEr085WA8dItv855ApqrTmrTHL8tWrBERhN4Nh5fqBd8S7LNKcXojhhurYE2ByLSxKStMIr8Za1b0K6jLmG1pGi1/XBHFGqIb4zMEkAuytQsg B2qsL/3gSS5/ZYPt4ecXKeWT6aWLFYVYiPzBmz+hkiNP/KLF4DWNMTXw3zofIsx5i3XA4mVC5o3bWq7rFRfKXnXwZUk0ls+DnPJB7PIYEzA6hgJUrXf9qChI NTsuds+u1ml0+suyPmCBfHSDgTntwoUi1Zvm1fFfqzHhSpv3bjs381HVJ7/S9Xv6N03cX9NjkPhckTdbU8MpZEpRj3woIQ8ftvDk6nwawQP/eBqdMGHqgHft 9O1ffv9T0+OcpFsDcrjvYugV Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Dexuan Cui hv_sock driver is automatically loaded when an application creates an AF_VSOCK socket, so we don't really need to trigger uevents to the user space udevd. And hv_sock devices can appear and disappear frequency, e.g. 100 per second, so triggering the udevents can cause a high cpu utilization of udevd, e.g. 30% on a 2-cpu virtual machine. So let's suppress the uevents to avoid this. Signed-off-by: Dexuan Cui Cc: K. Y. Srinivasan Cc: Haiyang Zhang Cc: Stephen Hemminger Signed-off-by: K. Y. Srinivasan --- drivers/hv/vmbus_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c index 43160a2eafe0..2c147702ce08 100644 --- a/drivers/hv/vmbus_drv.c +++ b/drivers/hv/vmbus_drv.c @@ -1174,6 +1174,8 @@ int vmbus_device_register(struct hv_device *child_device_obj) child_device_obj->device.parent = &hv_acpi_dev->dev; child_device_obj->device.release = vmbus_device_release; + if (is_hvsock_channel(child_device_obj->channel)) + dev_set_uevent_suppress(&child_device_obj->device, 1); /* * Register with the LDM. This will kick off the driver/device * binding...which will eventually call vmbus_match() and vmbus_probe() -- 2.14.1