From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161228AbcHEKtn (ORCPT ); Fri, 5 Aug 2016 06:49:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42190 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1161157AbcHEKtQ (ORCPT ); Fri, 5 Aug 2016 06:49:16 -0400 From: Vitaly Kuznetsov To: devel@linuxdriverproject.org Cc: linux-kernel@vger.kernel.org, Haiyang Zhang , "K. Y. Srinivasan" , Alex Ng Subject: [PATCH 3/4] Drivers: hv: balloon: get rid on ol_waitevent Date: Fri, 5 Aug 2016 12:49:06 +0200 Message-Id: <1470394147-21268-4-git-send-email-vkuznets@redhat.com> In-Reply-To: <1470394147-21268-1-git-send-email-vkuznets@redhat.com> References: <1470394147-21268-1-git-send-email-vkuznets@redhat.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Fri, 05 Aug 2016 10:49:16 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org With the recently introduced in-kernel memory onlining (MEMORY_HOTPLUG_DEFAULT_ONLINE) these it no point in waiting for pages to come online in the driver and in case the feature is disabled the 5 second wait won't help. Get rid of the waiting. Signed-off-by: Vitaly Kuznetsov --- drivers/hv/hv_balloon.c | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c index 064ef3d..c6252b9 100644 --- a/drivers/hv/hv_balloon.c +++ b/drivers/hv/hv_balloon.c @@ -535,11 +535,6 @@ struct hv_dynmem_device { bool host_specified_ha_region; /* - * State to synchronize hot-add. - */ - struct completion ol_waitevent; - bool ha_waiting; - /* * This thread handles hot-add * requests from the host as well as notifying * the host with regards to memory pressure in @@ -583,10 +578,6 @@ static int hv_memory_notifier(struct notifier_block *nb, unsigned long val, if (val == MEM_ONLINE || mutex_is_locked(&dm_device.ha_region_mutex)) mutex_unlock(&dm_device.ha_region_mutex); - if (dm_device.ha_waiting) { - dm_device.ha_waiting = false; - complete(&dm_device.ol_waitevent); - } break; case MEM_OFFLINE: @@ -644,9 +635,6 @@ static void hv_mem_hot_add(unsigned long start, unsigned long size, has->covered_end_pfn += processed_pfn; - init_completion(&dm_device.ol_waitevent); - dm_device.ha_waiting = true; - mutex_unlock(&dm_device.ha_region_mutex); nid = memory_add_physaddr_to_nid(PFN_PHYS(start_pfn)); ret = add_memory(nid, PFN_PHYS((start_pfn)), @@ -670,13 +658,6 @@ static void hv_mem_hot_add(unsigned long start, unsigned long size, break; } - /* - * Wait for the memory block to be onlined. - * Since the hot add has succeeded, it is ok to - * proceed even if the pages in the hot added region - * have not been "onlined" within the allowed time. - */ - wait_for_completion_timeout(&dm_device.ol_waitevent, 5*HZ); mutex_lock(&dm_device.ha_region_mutex); post_status(&dm_device); } -- 2.7.4