From patchwork Mon Apr 22 07:42:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: zhenwei pi X-Patchwork-Id: 13637844 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 F3505C4345F for ; Mon, 22 Apr 2024 07:43:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7F0356B0092; Mon, 22 Apr 2024 03:43:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7A2A16B0093; Mon, 22 Apr 2024 03:43:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 669D66B0095; Mon, 22 Apr 2024 03:43:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 48D576B0092 for ; Mon, 22 Apr 2024 03:43:12 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id EB41640B02 for ; Mon, 22 Apr 2024 07:43:11 +0000 (UTC) X-FDA: 82036376982.23.2446E9B Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182]) by imf08.hostedemail.com (Postfix) with ESMTP id 20FE7160006 for ; Mon, 22 Apr 2024 07:43:09 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=WAA71+nz; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf08.hostedemail.com: domain of pizhenwei@bytedance.com designates 209.85.210.182 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=1713771790; 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=9/EWE7HosrBQLSJgBRmTeatXRmpZ6JVLuxoFHN85xXc=; b=7DlDH3hyQ/4aEISEyUnbSGFfeUrCzbSrn358urooOsSzdvTLrvbY6j6SEwBCprj70RNgNe 4dqLYDGGfAWXAN0DmfOqDaKdE8QrgbRqbFLCkf/UkakxSKbsktE2htuMQvT59jFPgSRrEG tGYEMb85oMsDk/DXgkDWUFqV3Jf/G0I= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=WAA71+nz; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf08.hostedemail.com: domain of pizhenwei@bytedance.com designates 209.85.210.182 as permitted sender) smtp.mailfrom=pizhenwei@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713771790; a=rsa-sha256; cv=none; b=SkE6V5TvdUJfsGffSrmG245t/U8H9a9PyZwuFKCCz2gaI7E7GR6BhQptN5wPzhrLgvpJdh IO4L9CKPO6IkNNeGc4jBxV8w01+Qq/uAkK/i+zqF0bmLcGar2uWmj/lN5iOIlYo3+/RQ49 R/PPk1hZf+kJVIOjaUD/ThYvMxqjOk4= Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-6edc61d0ff6so4069005b3a.2 for ; Mon, 22 Apr 2024 00:43:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1713771789; x=1714376589; 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=9/EWE7HosrBQLSJgBRmTeatXRmpZ6JVLuxoFHN85xXc=; b=WAA71+nzOtpU13VCRA4KY3ljBYA6zt+NawjRw0EJF/C3JmEjliHySRIzoEwULf9/Ob 1HjC9li2yWt1rvutKCGy6YVgWmtHcq5T3Xs6qtOBxbl4guaRl5n0+NvSSn0APXbu2yFg ANdASfm0hiSLueRrDWRwTBlwbqKwW14akP0X6izwvUgPOmn1Cx1kkxosGTF77G7+NQuc 2qtEwozTCSKd+bT6l4injDp793i9HvShUXXN5rJfzyRShQunOLAY6c7g0V3PEA/5A0zQ Odw06uPiij4Ymt0qLe8POCnVfzxUasnGOzRY9ljSHrV2oXmWbsuM+5zT3coDl4yH1hFR +HWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713771789; x=1714376589; 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=9/EWE7HosrBQLSJgBRmTeatXRmpZ6JVLuxoFHN85xXc=; b=U2kceFoYrkAC4DiyUPCqwemHNminVpgAk3V2j2IwxNoUAh3M8jIUXzFvVGVlWtj2yp n/+5IiwuMFqxFTlRnHwPNcncbZtc2bfNnrvePHFiCkvoBJQwFxixfxPAlnFvz3dbzUUy kJoWjtcPPfcnq2ozu7Vxr9nfz8RhT90geL0PTD0rejrs5rCzIHUdNhB9aVW71coThlQK AobGmGkJTC3S78tRlfCe5JjJK3wbNmVw/XAPVrhNUfZ90FpCwov9X3DXrsSuYUfSEmDl 0BWlyphrdSF5HMSYFnHuYwMeBHXVgiwcV4BUeTvfDY2+17uUo5Epo1u/Rb0RVh3bBXXC mHxg== X-Forwarded-Encrypted: i=1; AJvYcCXeNhtpUqHyibSL3aRcYo2aS/+GsPyrklaYX95H6i3X3n49p6PMcBASZEEctX+ze4Y34jlQYYLFKmHvycjcai2y8fs= X-Gm-Message-State: AOJu0YzRRdZ4xl3AebSflhBjyFB1u3+FvNQWLfzQnu8rt6ZqwsIA8yWG UVILyiY0dtqmETvt95RGYGshuv4GmRhdxmMgZ7/cDVusiWCwTvW7VyaDbeh7O50= X-Google-Smtp-Source: AGHT+IE2E7bgMyLmnmQSu1kHHGwGpjyE4p40kY0+jyTlKg2yf/aOeq6zrS4zsbnrUiBWDAWUZBb4Rw== X-Received: by 2002:a05:6a21:348b:b0:1ac:3a2c:b42 with SMTP id yo11-20020a056a21348b00b001ac3a2c0b42mr12591466pzb.9.1713771788742; Mon, 22 Apr 2024 00:43:08 -0700 (PDT) Received: from libai.bytedance.net ([61.213.176.11]) by smtp.gmail.com with ESMTPSA id e11-20020a170902784b00b001e0bae4490fsm7595634pln.154.2024.04.22.00.43.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Apr 2024 00:43:08 -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: [PATCH v2 2/4] virtio_balloon: introduce oom-kill invocations Date: Mon, 22 Apr 2024 15:42:52 +0800 Message-Id: <20240422074254.1440457-3-pizhenwei@bytedance.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240422074254.1440457-1-pizhenwei@bytedance.com> References: <20240422074254.1440457-1-pizhenwei@bytedance.com> MIME-Version: 1.0 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 20FE7160006 X-Rspam-User: X-Stat-Signature: 9age3dpgg5chj73rhzdoheps5q5b8uei X-HE-Tag: 1713771789-329430 X-HE-Meta: U2FsdGVkX18Ktj8z8+Vk7kiWmsj5qEiWaPyUDHBVc1wv/ezCDKHpu7fYnetKnjzdCJTaWEpJXXmho3HlIUKlwJSCCMMCo+LXv7M8G03hsXM8vo1OyYV91pes9jiUDj551ylbZWOyEJKxXd4tzcItdm2CGaIWzBfarPS9XvUceA6B8pypuqAldayJogUwbIjVClMmoggkTRjG9FTiiIZjaIGO+oNHqpgav69HdbxRt8QOdi+Hra3UufWKIPDE0rGA8ipUpqpYNms8doRo73rO0J1mNCaZSvs/COBW5g5QY1fkRLDkDra98j73PS1BA33LyWesbjX/+gaU+GDeaTyXpUAiqWfPffgcmdccWevQwMltBVW08vBc+lAs7f0obEHXoayegdgeQ0nYyWxVoD/DsZ53R+vda1WgqVQ23D8YtBhBpOYZ58UhEiZDvfx7bVggaEkFytGVG7MUD8wBbS94dLVZ3mrj3poEC03yWnSp4RQNpD8Pf/ANSZZ9oHXlUvbWgh/lyr/FapONoRKJMzlZdmXqG38roYzLmwvSJKRGWIR+eYT6F4+Os4TJvBh6UEX4J5GxlWj6t2BECeEJ5Y9EQCJG2vWdUEz0V2jklaS/aF6rp/J6tRGjIz29s+g0uV9u/0YhoZUr+rfMrHNFgTnnQAmXp3MGtggmiV5FPJvoL7EWJjt0KIxeRhTegXyRaPncrN7f57KK6VbhOiKRD6b477X12KLsPmjmDi480safklAG7s2Ky866WwBV374kzYE73n2kv6sNFNVitls5Ib5S5tsB5ARuWD4LmH/bpi2F45KCUWmjFSTTVZaW9j7pE4hiiabThHf+ua+1b0GSxgLiVPznIRwDRYHGavQ/e6mjWPcGGUx5WGH63o28cc59CHe1le8I9aYjwkOJfFdrz4jxiMkv/BvLLG3dx3yMXpEx9pE7rGL0mQpBFtWYOM4IPUSNLZzUk0M8CdczmZ4137o E/K5i54B VIXJnf/7waYVjdHXo1MCh8QNVDA7qkZZV3N9NXZVseZi3qs656oi062zQ9jdyhCHSJCoWHGyxlp6BuPjOwUyzfuuCf409zpx6+WyED2okoglGNBBx4sMBp6QvW4v+WnA/jWt71kY8B8t/WqW3F0RbIOeWChC04DMnMu38ei7Xh/OUde9SkE7dVbFOOjNXGnF/np8IljmfErNTyBrJb0UohK8iUw8JQtrsgd7AmorTpXLCWYoQdCvdFrER7+HvOWw519qlG6M2JQFtQfHKF2IcG7YLNa3vlaSL7KlkJHsk5qFvl+qUVOiPXQss/NVPcvFtDzFsy7Gto/OfP5SMR44ck6dQMiHnssVRFZ4yhUKmTXFvOZaBDA+Do6gu1UDv/aOUrQdOFDA5yQ4eRYsxfEpExvf6sfgjreqn5MgGAJrbne0QCaw76s+XVlMulbGB/pmNmO8XmB5d51zxuqDSvKOFbQul1g85FOR5nQSzqvpi63ziH8E= 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: When the guest OS runs under critical memory pressure, the guest starts to kill processes. A guest monitor agent may scan 'oom_kill' from /proc/vmstat, and reports the OOM KILL event. However, the agent may be killed and we will loss this critical event(and the later events). For now we can also grep for magic words in guest kernel log from host side. Rather than this unstable way, virtio balloon reports OOM-KILL invocations instead. Acked-by: David Hildenbrand Signed-off-by: zhenwei pi --- drivers/virtio/virtio_balloon.c | 1 + include/uapi/linux/virtio_balloon.h | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c index 59fe157e5722..87a1d6fa77fb 100644 --- a/drivers/virtio/virtio_balloon.c +++ b/drivers/virtio/virtio_balloon.c @@ -331,6 +331,7 @@ static inline unsigned int update_balloon_vm_stats(struct virtio_balloon *vb, pages_to_bytes(events[PSWPOUT])); update_stat(vb, idx++, VIRTIO_BALLOON_S_MAJFLT, events[PGMAJFAULT]); update_stat(vb, idx++, VIRTIO_BALLOON_S_MINFLT, events[PGFAULT]); + update_stat(vb, idx++, VIRTIO_BALLOON_S_OOM_KILL, events[OOM_KILL]); #ifdef CONFIG_HUGETLB_PAGE update_stat(vb, idx++, VIRTIO_BALLOON_S_HTLB_PGALLOC, diff --git a/include/uapi/linux/virtio_balloon.h b/include/uapi/linux/virtio_balloon.h index ddaa45e723c4..b17bbe033697 100644 --- a/include/uapi/linux/virtio_balloon.h +++ b/include/uapi/linux/virtio_balloon.h @@ -71,7 +71,8 @@ struct virtio_balloon_config { #define VIRTIO_BALLOON_S_CACHES 7 /* Disk caches */ #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_NR 10 +#define VIRTIO_BALLOON_S_OOM_KILL 10 /* OOM killer invocations */ +#define VIRTIO_BALLOON_S_NR 11 #define VIRTIO_BALLOON_S_NAMES_WITH_PREFIX(VIRTIO_BALLOON_S_NAMES_prefix) { \ VIRTIO_BALLOON_S_NAMES_prefix "swap-in", \ @@ -83,7 +84,8 @@ struct virtio_balloon_config { VIRTIO_BALLOON_S_NAMES_prefix "available-memory", \ 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 "hugetlb-failures", \ + VIRTIO_BALLOON_S_NAMES_prefix "oom-kills" \ } #define VIRTIO_BALLOON_S_NAMES VIRTIO_BALLOON_S_NAMES_WITH_PREFIX("")