From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2D247C4345F for ; Mon, 15 Apr 2024 08:41:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B937D6B0095; Mon, 15 Apr 2024 04:41:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AD0A16B0096; Mon, 15 Apr 2024 04:41:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8D4F46B0099; Mon, 15 Apr 2024 04:41:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 6772B6B0095 for ; Mon, 15 Apr 2024 04:41:37 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 291E5C04DA for ; Mon, 15 Apr 2024 08:41:37 +0000 (UTC) X-FDA: 82011122634.12.A0AD14F Received: from mail-oo1-f42.google.com (mail-oo1-f42.google.com [209.85.161.42]) by imf23.hostedemail.com (Postfix) with ESMTP id 541A3140005 for ; Mon, 15 Apr 2024 08:41:35 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=Ncqu6BJ6; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf23.hostedemail.com: domain of pizhenwei@bytedance.com designates 209.85.161.42 as permitted sender) smtp.mailfrom=pizhenwei@bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713170495; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=gn/fmyyLOBGP9D7Ah7/te94Cqx4P0YQuEb1tR3Gfsk4=; b=HJqKgTDf0x1KI2l4H/nj8CALMeo8demD3dKo36Z5wN/36UaLEsfocXiDAIsHbn6crIRXht BFY6n+0IqoZ+v+FcuOxr4L05EFRN7PbsAK2jDrfkZd58eD21dqg0+DGNDyxKWChkaR5KAI Lg8kwjSE+yjVM9AT3lNcLo2uhH5JGmE= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=Ncqu6BJ6; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf23.hostedemail.com: domain of pizhenwei@bytedance.com designates 209.85.161.42 as permitted sender) smtp.mailfrom=pizhenwei@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713170495; a=rsa-sha256; cv=none; b=3zVEAix33Nuiz87cmHGQNm5JBrDAcp6KGCy094/4pjiYS1m45jlxMdflVVJaPZXRxnI4Rc fgMDUC3MAFQI38FNmUFQYa94DgXw9aKbPX3MNZO7WRtM+HEddJPskhus8R1HBUVxCl4Dr0 LoAvjEVSw5WLEleRpho/EeAG7KDMBNc= Received: by mail-oo1-f42.google.com with SMTP id 006d021491bc7-5aa3af24775so2267150eaf.0 for ; Mon, 15 Apr 2024 01:41:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1713170494; x=1713775294; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gn/fmyyLOBGP9D7Ah7/te94Cqx4P0YQuEb1tR3Gfsk4=; b=Ncqu6BJ6YV+z5Yv/G8pK2b9NVeeh6REPKS5sJCXg331osj1pNZkWi/F7ACzAlvdp1F xhDYUOscXH/9vigBCeOZOI6jPFr2f+CiYuOB28UwtImdzcgpiLFrvwmTdAA/EDnnI2es 0VrjbduGLwaYQv46aPdDXIMV2rbLgrQKaS4cc9Pa7keapNIhWYXa626O8tE5jqqhsDtb 2EnWkZHyczUDvyr1urUNXH9S842Bo4UlGsIEC01qeyGWuKDKlJwZyVeOXn4jmnPu51he r2QReTB6L5aWuLUHmWR9ECM/LHZpn1Iq/w9J0CouFaX9sI8ikKeJgGqFokfSFK85lUQ4 h1Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713170494; x=1713775294; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gn/fmyyLOBGP9D7Ah7/te94Cqx4P0YQuEb1tR3Gfsk4=; b=LHhmszN9h+VN9NBpiSNCKA2OmgWyl3u5/Nkz548va3S5vWTNS5b8Fba7WljEZeZlHn FIG7mYK3X6Xb7WhhHBsIkZUMlEV/m6pZaOQi0Ogg+JV2nOilHEFcKac7qit/LwuYwyHj mhX/sMZgImjHdH+sRiLmllJshbrEHY+/9oNVW91LfYWqu+V9SaewJrHO53slvRJeYUrS MN8cULfqQ6aoEZ9wz0JYMpV8lcvWjvmnOk1PK+ehnXdVzJXIsIDDB2+XYVahdjtLiMN3 nbQZyZwYUGy2iNjGFkS3Fvcvu7JCV965h17dqLLa4l61OquPmHlJop0+tW3kpUf1f3rL PrKA== X-Forwarded-Encrypted: i=1; AJvYcCWorxD2lWQJCaB0ajJ1nY+DQYGKoz05xJDEQZl+TEq+nN3aF/q99PO0LyfbVIHaWIJRqVe5513Ovv34Yjoopg7sSYc= X-Gm-Message-State: AOJu0YxVmuB39zjQgCBToqKySDT0FzKCX5pgNQWRJcfVQFSWA+KMmpX7 7Q1F31tUN698T69ompgL47w7pCmY2Ubs/amkTqrwyW220029Oz0AyrCjNf5Piu8= X-Google-Smtp-Source: AGHT+IETdp6r2QsgZsbcC8cYUyAoKu02zRWiFTX/N1oYt3Eg7GPbdngrRxjNkXqYCiCkcAyLjTOyFg== X-Received: by 2002:a05:6358:1396:b0:183:6427:10b6 with SMTP id n22-20020a056358139600b00183642710b6mr10637354rwi.19.1713170494297; Mon, 15 Apr 2024 01:41:34 -0700 (PDT) Received: from libai.bytedance.net ([61.213.176.11]) by smtp.gmail.com with ESMTPSA id k187-20020a636fc4000000b005d6a0b2efb3sm6575685pgc.21.2024.04.15.01.41.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 01:41:33 -0700 (PDT) From: zhenwei pi To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, virtualization@lists.linux.dev Cc: mst@redhat.com, david@redhat.com, jasowang@redhat.com, xuanzhuo@linux.alibaba.com, akpm@linux-foundation.org, zhenwei pi Subject: [RFC 2/3] virtio_balloon: introduce memory allocation stall counter Date: Mon, 15 Apr 2024 16:41:12 +0800 Message-Id: <20240415084113.1203428-3-pizhenwei@bytedance.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240415084113.1203428-1-pizhenwei@bytedance.com> References: <20240415084113.1203428-1-pizhenwei@bytedance.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 541A3140005 X-Stat-Signature: 86xez6sbhdwir1nfjyd3idui7t84no43 X-HE-Tag: 1713170495-451551 X-HE-Meta: U2FsdGVkX1/rDVLbUKGl6Apa7/mk8glDiN5heEmZHtQnAt/uJIFA/Ug9oelQrPVGMMqnGHIM3MTv/ofYPvVPjV17vdxra43oqhPkEtYokcwJowHHF7exoHT2OCFy9wAVsJTffq0TrLC2/TUR6thJ5hbtDK3KL523ecNM69LbkyB4aOvRS12aFTSNw98dU6lCzaD1DnUSYArjpPgzZwEk6PT/EbG7lG/L6PK2VAIVMxcbUBfUlLoFgEYRk8PCdWWZOm7p/WZnLRxsa9YvNuchu6qjoqzce2UbNGa/ytMRZnvSZ8+vWiS+Os6dvmyALCwaCw1sCgQOGc3spZTIwfmlBTNZu2FZKNSsv6m/oiu0O1UoqKfXhn4m5gGrL6zP3FdM8cOdaVdzA8DEknZ8Yh1y+zVMrjDwQidXQe5+Ebhr2J0SUsX2Z8VhR3ureqxyy8xFSBJvtfZkZ7Tnd3Jbyp4Ezp0MlWyLOH6xlSR03HPxC5VuAiBWXOPbX1WCru1Qzh4Ivf5GKV3YY8slsSCwVqXC26GlwiH2FBzmEP/enBi1EghfuCjwpa5GI28/KUFAfGoHujGqkFkSxNkYnFtPDdkjdo5fcOJXccQvIZS8fCRUXzzemiauNZ7Q+EHL8S80h2oULnaSkuPONRyASAfGyUBic2AIkp28cbCUoaJFGqvAA5lQNdd7Y4f8J/F+qLCk/4hlkP+xmJnvmp4FWTsICeTsei/eSyePVzoWPjo9i6ubTVBPwX5sq3kAq9/pRq6C6VUSJofGaKONHsXJiq1NcU5MoNd1YbpHG68xRgIikeXKSmWJpyXyhCx4DiS1COhmZDuNgQcejBERzNDf6xTj50DYw4IsV+Tp5UFFdzkd+NsCjLONU9IPF4kcwB4IPM3fZ6TNVnUtPoglV83VjPzNDmUcSPzuNGpXyGQtI2gx+N6bkeQeSAQj5gtKz5WG6Eb917yiQIZLyisMIKsBK7LL86k zzL0cR3z cJAz81yTXWV2d/5NzB2pNcQPLfOEFxPUD58ChFjHmFcl0dI2DxIovLYDU1iBCDCWItPMn9Mowj8u6Y8+x72NUPyPdbAQuJRaaQoOBOXRB31E2bAssIGEKNfWw+61D5sfsyhMRqarGtFhNtt/r6Og6x5QR2qqgZ8jZZtfsbPCkjvZE4ftVnVI8sFDlID8YiJOMzm84oZVL3hfPVAuXJdpE4MBcHHwe+kp9d99rKa6KAHhG+O8a4STwxyCuPm6srA79Y6Sqv1F4Y2sSuzGkLS/6aEP1BOK7frS51oDThRUSDr9NprYLUF7iiZJw8UUz3PYdlhtPkQtsDuUWA2nfDpofhKptiE9DN2Q5prbHeJHhYfUH+nbEhYXzyYJFEirVPQDXNbStCKMY7dh1ER7PinEGYr1/GNZRx3NQEEEuWsWJWOv6SwYFi8GYCEAKANd/IcRkeShhdbVrFoom108= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Memory allocation stall counter represents the performance/latency of memory allocation, expose this counter to the host side by virtio balloon device via out-of-bound way. Signed-off-by: zhenwei pi --- drivers/virtio/virtio_balloon.c | 19 ++++++++++++++++++- include/uapi/linux/virtio_balloon.h | 6 ++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c index fd8daa742734..4b9c9569f6e5 100644 --- a/drivers/virtio/virtio_balloon.c +++ b/drivers/virtio/virtio_balloon.c @@ -321,7 +321,7 @@ static unsigned int update_balloon_stats(struct virtio_balloon *vb) unsigned long events[NR_VM_EVENT_ITEMS]; struct sysinfo i; unsigned int idx = 0; - long available; + long available, stall = 0; unsigned long caches; all_vm_events(events); @@ -355,6 +355,23 @@ static unsigned int update_balloon_stats(struct virtio_balloon *vb) update_stat(vb, idx++, VIRTIO_BALLOON_S_OOM_KILL, events[OOM_KILL]); + /* sum all the stall event */ +#ifdef CONFIG_ZONE_DMA + stall += events[ALLOCSTALL_DMA]; +#endif +#ifdef CONFIG_ZONE_DMA32 + stall += events[ALLOCSTALL_DMA32]; +#endif +#ifdef CONFIG_HIGHMEM + stall += events[ALLOCSTALL_HIGH]; +#endif +#ifdef CONFIG_ZONE_DEVICE + stall += events[ALLOCSTALL_DEVICE]; +#endif + stall += events[ALLOCSTALL_NORMAL]; + stall += events[ALLOCSTALL_MOVABLE]; + update_stat(vb, idx++, VIRTIO_BALLOON_S_ALLOC_STALL, stall); + return idx; } diff --git a/include/uapi/linux/virtio_balloon.h b/include/uapi/linux/virtio_balloon.h index cde5547e64a7..13d0c32ba27c 100644 --- a/include/uapi/linux/virtio_balloon.h +++ b/include/uapi/linux/virtio_balloon.h @@ -72,7 +72,8 @@ struct virtio_balloon_config { #define VIRTIO_BALLOON_S_HTLB_PGALLOC 8 /* Hugetlb page allocations */ #define VIRTIO_BALLOON_S_HTLB_PGFAIL 9 /* Hugetlb page allocation failures */ #define VIRTIO_BALLOON_S_OOM_KILL 10 /* OOM killer invocations */ -#define VIRTIO_BALLOON_S_NR 11 +#define VIRTIO_BALLOON_S_ALLOC_STALL 11 /* Stall count of memory allocatoin */ +#define VIRTIO_BALLOON_S_NR 12 #define VIRTIO_BALLOON_S_NAMES_WITH_PREFIX(VIRTIO_BALLOON_S_NAMES_prefix) { \ VIRTIO_BALLOON_S_NAMES_prefix "swap-in", \ @@ -85,7 +86,8 @@ struct virtio_balloon_config { VIRTIO_BALLOON_S_NAMES_prefix "disk-caches", \ VIRTIO_BALLOON_S_NAMES_prefix "hugetlb-allocations", \ VIRTIO_BALLOON_S_NAMES_prefix "hugetlb-failures", \ - VIRTIO_BALLOON_S_NAMES_prefix "oom-kill" \ + VIRTIO_BALLOON_S_NAMES_prefix "oom-kill", \ + VIRTIO_BALLOON_S_NAMES_prefix "alloc-stall" \ } #define VIRTIO_BALLOON_S_NAMES VIRTIO_BALLOON_S_NAMES_WITH_PREFIX("") -- 2.34.1