From patchwork Wed Jul 22 14:47:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Belits X-Patchwork-Id: 1333921 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=marvell.com Authentication-Results: ozlabs.org; dkim=fail reason="key not found in DNS" header.d=marvell.com header.i=@marvell.com header.a=rsa-sha256 header.s=pfpt0818 header.b=Xp4AdyKS; dkim=pass (1024-bit key; unprotected) header.d=marvell.onmicrosoft.com header.i=@marvell.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-marvell-onmicrosoft-com header.b=e09a3zWa; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BBdcC1h2Dz9sSn for ; Thu, 23 Jul 2020 00:47:55 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732633AbgGVOrw (ORCPT ); Wed, 22 Jul 2020 10:47:52 -0400 Received: from mx0a-0016f401.pphosted.com ([67.231.148.174]:26294 "EHLO mx0b-0016f401.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728405AbgGVOrv (ORCPT ); Wed, 22 Jul 2020 10:47:51 -0400 Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 06MEkh8m016190; Wed, 22 Jul 2020 07:47:14 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=pfpt0818; bh=p6bTuXQ7WRxMymEyANQpDO/i/w9XN7WepnoSu9OWtzw=; b=Xp4AdyKSekCrbtf9J61nh0nsndUJ3FvUw8wtK8lJdqHtXLjgaxv19G8KJYVCSWQfXSt7 Ic6/aF/29rEGZ1Hma/Q77okVgMbfSZ92Ppf9Lpq3Qvjj24rlcR+IpH50bCTS9CoQFHKD VW4J7nbBYCmmqIN9CV5V337hvnM6VsiZ/cLsxEXEPnP64lzCuH3OE3uxmFUMFrsmB7bF oWpzT9QGwenyhq1Sbd+l0o/UaNhgVzBzRPTWuDdobxlCNcJBEzZij+MvkmusqoIKqFaV +icActqyHLIQMn+o0PYsaJiN09sU5aOKt7PElNGKa4pondBG3ltrNkgrP7G/WMw1/Eo0 yA== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0a-0016f401.pphosted.com with ESMTP id 32bxens6g6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 22 Jul 2020 07:47:14 -0700 Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 22 Jul 2020 07:47:13 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.174) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 22 Jul 2020 07:47:13 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=minH2iIryoKS0Dyq4fnC66xXcwHwSeDLMPnQ/7yI2EM0la+ePJAOjYxRLCQHWEKyAtNDKxUCIeCk01Klz++/pOqgj/csNvZYBE6TqK9jMJadcsc27GIOHJWlZ9ew8+0GjFkQ/FtOulpv54wbzTrr8Jm2OEiNSySNfXJ6K5CYLSVpvrQuyWvLh75SP5idzLp1hxOsYjeFmzQCMJ/4xhr+KCLEXj2tqY21weSSfTW65kWWHxMS+H9L7oP56snYsEpv05umDAz+VrWmXVdSf6z0rLn6864/Dv/hJDATQ9ob/nG8Jd3KQl839WM2EosgAlNZeb96PMWaHlRI/l34Chc26Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=p6bTuXQ7WRxMymEyANQpDO/i/w9XN7WepnoSu9OWtzw=; b=E08oxM6BDkajx410Ryg/CsfUUoV925GFDxFFeH8vnSPp4KfCPrpBP6FmhlR7I6Z7uoCYL4zFaMOm5RrmgRDFUjvcIJDLVmkbjdP4e85YaD/hSFYh8707Dl7w2/ycpZIJXjGYzXBPfj1vPkpmZA6dCQ7TXZBv+d6xJmPT4El5dh/CVw49PxCYRu1EBrWrVGkU0EX8NQK5z6ZdkyPj66z6BGAqT7L/u2bPp+/8F8N21Qf8e/geMGU9sQc5UGeLxsaGXl7asM9skXGC+nSnugVBeCHBD5lEWPqwWjVdmkjCoQ74fkph1HR6OFmXW6WwCQ9ylJWfi8F/IwBFSMOjsVcNlg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=p6bTuXQ7WRxMymEyANQpDO/i/w9XN7WepnoSu9OWtzw=; b=e09a3zWa7FifCaD68AlZgDONLej14Is8RBLJT5gBo2fCC1I5eIKCUR7W2cfpbOnLdhiEfTeKd00HY3DfJueU3kFHWjaIFnJZHOCl8q92R8JeURIZrwQSqAnj9HFlj4wSbEflG3Q4ImwU1BnqmwEwXKaws729Fyd5IUgoHaXsY6A= Received: from MW2PR18MB2267.namprd18.prod.outlook.com (2603:10b6:907:3::11) by MW2PR18MB2091.namprd18.prod.outlook.com (2603:10b6:907:2::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.20; Wed, 22 Jul 2020 14:47:11 +0000 Received: from MW2PR18MB2267.namprd18.prod.outlook.com ([fe80::b9a6:a3f2:2263:dc32]) by MW2PR18MB2267.namprd18.prod.outlook.com ([fe80::b9a6:a3f2:2263:dc32%4]) with mapi id 15.20.3195.026; Wed, 22 Jul 2020 14:47:11 +0000 From: Alex Belits To: "frederic@kernel.org" , "rostedt@goodmis.org" CC: Prasun Kapoor , "mingo@kernel.org" , "davem@davemloft.net" , "linux-api@vger.kernel.org" , "peterz@infradead.org" , "linux-arch@vger.kernel.org" , "catalin.marinas@arm.com" , "tglx@linutronix.de" , "will@kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "netdev@vger.kernel.org" Subject: [PATCH v4 01/13] task_isolation: vmstat: add quiet_vmstat_sync function Thread-Topic: [PATCH v4 01/13] task_isolation: vmstat: add quiet_vmstat_sync function Thread-Index: AQHWYDb7+u4pW/dIVkegDrd39Y9d0w== Date: Wed, 22 Jul 2020 14:47:11 +0000 Message-ID: References: <04be044c1bcd76b7438b7563edc35383417f12c8.camel@marvell.com> In-Reply-To: <04be044c1bcd76b7438b7563edc35383417f12c8.camel@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=marvell.com; x-originating-ip: [173.228.7.197] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cc92bc9e-2e9f-4274-6198-08d82e4e1dfc x-ms-traffictypediagnostic: MW2PR18MB2091: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1186; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: iRCgcY9bBZrb3uXCU7/3qjjkoyJxo6NBMc+5CcH5lib8SezunaMZ/RihX3RjJU5dQ4/4xbvkJUkPFq4LLSdChoMitxZn/nb621mve7HvUwQSjX3Gk0ucr4VWv9NlhPgOpCsUhY+SpsfBlsXe8XMUHc7zRi+iWMiNQN5X5n9fXufugrqGKBWvzKf9TCG98yHpb8J01Wj8nbBUFU2j6tVU0JKs/2lV9fc4v6jKV+QDMSwKP4KAgUQseYu7ixqCOvK2KaN/zMKKOUUot564QGqElFx9voUuw37+moN8FePrPmK/JbF9kXYCTMDsum21B1GqorUT914FWbyZTAGvN/8CXg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW2PR18MB2267.namprd18.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(39860400002)(346002)(366004)(396003)(136003)(376002)(8676002)(76116006)(91956017)(110136005)(66946007)(66446008)(64756008)(66556008)(66476007)(316002)(2906002)(6512007)(54906003)(6486002)(7416002)(478600001)(5660300002)(186003)(71200400001)(36756003)(2616005)(86362001)(4326008)(26005)(8936002)(6506007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: M606+b3D8umwEBn+jJEZ/QhSWlYeZhoSO0zJjbGhs3X9vr70DpnJemjjkgscJYWv/pVj9+mXz+bzMNdmK5JP4qA2OVdQfmnoqPNUPV+zBi9jrIGJPp62wr7oelUHOF8uhe0u/8sfqH3VDanqoV42lBeTZHmG94ZreLxAdYMyjmv/xro7OOE6PG7R4qfVWrhzcjJOgY0N9lol4wNoeyAFXFgLr01xmVii1zcxJ79NizNrj1ec3Kj/ToXgRaa4wAxaN4zca1rwtwKAbCNd8snOWbU9GeH/kbgpkWHtwIVEwD+o9CvDPCYA08vSUrzfc80uma/ZKrQl7fWMUdps6ORiNT+YqNIXHVClLuJ3BiX2DjnxKhLl7O49ftWc7zh3xA6T41jjkkCYKfqH87lGgppBu3v7ok6ADd317aMgL57wasVfkb60LZcqNyZh2B/O1bh9EUFMA9HKaeescjxkdOL2FLhBhljuVg9vTKaAinoxzyI= Content-ID: <71C0964DB92C2640A8A3A33709BD1768@namprd18.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR18MB2267.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cc92bc9e-2e9f-4274-6198-08d82e4e1dfc X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jul 2020 14:47:11.6802 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: EvfeeOPdAM9BpPxupbER8m5ewzrOU64HzuC0EwxrUiqn40lUn9OxeuMvczerSNVaOktWvplGZCG5dHTxhJhA0Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR18MB2091 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235,18.0.687 definitions=2020-07-22_09:2020-07-22,2020-07-22 signatures=0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In commit f01f17d3705b ("mm, vmstat: make quiet_vmstat lighter") the quiet_vmstat() function became asynchronous, in the sense that the vmstat work was still scheduled to run on the core when the function returned. For task isolation, we need a synchronous version of the function that guarantees that the vmstat worker will not run on the core on return from the function. Add a quiet_vmstat_sync() function with that semantic. Signed-off-by: Chris Metcalf Signed-off-by: Alex Belits --- include/linux/vmstat.h | 2 ++ mm/vmstat.c | 9 +++++++++ 2 files changed, 11 insertions(+) * differentials of processors that have their worker diff --git a/include/linux/vmstat.h b/include/linux/vmstat.h index aa961088c551..ded16dfd21fa 100644 --- a/include/linux/vmstat.h +++ b/include/linux/vmstat.h @@ -272,6 +272,7 @@ extern void __dec_zone_state(struct zone *, enum zone_stat_item); extern void __dec_node_state(struct pglist_data *, enum node_stat_item); void quiet_vmstat(void); +void quiet_vmstat_sync(void); void cpu_vm_stats_fold(int cpu); void refresh_zone_stat_thresholds(void); @@ -374,6 +375,7 @@ static inline void __dec_node_page_state(struct page *page, static inline void refresh_zone_stat_thresholds(void) { } static inline void cpu_vm_stats_fold(int cpu) { } static inline void quiet_vmstat(void) { } +static inline void quiet_vmstat_sync(void) { } static inline void drain_zonestat(struct zone *zone, struct per_cpu_pageset *pset) { } diff --git a/mm/vmstat.c b/mm/vmstat.c index 3fb23a21f6dd..93534f8537ca 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -1889,6 +1889,15 @@ void quiet_vmstat(void) refresh_cpu_vm_stats(false); } +/* + * Synchronously quiet vmstat so the work is guaranteed not to run on return. + */ +void quiet_vmstat_sync(void) +{ + cancel_delayed_work_sync(this_cpu_ptr(&vmstat_work)); + refresh_cpu_vm_stats(false); +} + /* * Shepherd worker thread that checks the