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 D5835C04FF9 for ; Mon, 15 Apr 2024 08:41:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6B1906B0092; Mon, 15 Apr 2024 04:41:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 63ACC6B0095; Mon, 15 Apr 2024 04:41:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 466506B0093; Mon, 15 Apr 2024 04:41:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 25A386B008A for ; Mon, 15 Apr 2024 04:41:34 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id BA1F41204CF for ; Mon, 15 Apr 2024 08:41:33 +0000 (UTC) X-FDA: 82011122466.27.1E73358 Received: from mail-il1-f169.google.com (mail-il1-f169.google.com [209.85.166.169]) by imf17.hostedemail.com (Postfix) with ESMTP id E6C554000C for ; Mon, 15 Apr 2024 08:41:31 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=E3zplno5; spf=pass (imf17.hostedemail.com: domain of pizhenwei@bytedance.com designates 209.85.166.169 as permitted sender) smtp.mailfrom=pizhenwei@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713170491; 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=12B6L10PsA9Jh230IG9uEJXqT+JXXSEjbmkq482lFPs=; b=LLuJO6m0I/jqrmCzp1zPfoUN+LgJqyiEie7lJAUdC2VQpflaLeVzsW4xlC30QFj4oIxQV/ urp2GWKaUR9SK3wk6cDVyqoq5rBk8+dPrKY0NrsjNNZu4kv7qBJPIUNrmAyIX/mg0oI26i IdoL391tDAGQMsDkdoIlC+cCQDri7dw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713170491; a=rsa-sha256; cv=none; b=CqFE8yLOtbA2T+XKP4sNZ1whxzEWyJfUcSpzh/7SJRzYaR3kV5IiuV34hG8RZoMr6yDI83 Bpajf6K+slLQkKAzjgD5vNS+xZGuMz+cIySIU+6bMzlRRZhRe2mjtIT4NlwutmUviNREvG R/OCv9Pn2YnHcRXQyuIJdl51vIdPLs4= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=E3zplno5; spf=pass (imf17.hostedemail.com: domain of pizhenwei@bytedance.com designates 209.85.166.169 as permitted sender) smtp.mailfrom=pizhenwei@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com Received: by mail-il1-f169.google.com with SMTP id e9e14a558f8ab-36a3b9bc797so14372075ab.2 for ; Mon, 15 Apr 2024 01:41:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1713170491; x=1713775291; 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=12B6L10PsA9Jh230IG9uEJXqT+JXXSEjbmkq482lFPs=; b=E3zplno5aRB6+Cc6Oh9VmZRSuuAlDwbHV8aJVt5Dsg8cys2XGZnclmjS6T0m7N7d2c fISj9PoIYb4ptxkN5dfOn3fcfByYMJQP8Pn49Ww42wIeWzAwRlWzDGi+tLiYK8nE11z5 ZAk/EUkfNmFxYsIF+Ye3ppGB9ZGGT3nmQZh6ji7UQ/6mqAkMzdZHKty4e/4RFCfqGWv8 xDuQMqqcPFvs+UBUHxTNczG7wWF483ZK6fcCg7xUaw9uVIL2sI0rBMbTlR2onzUxeVuD Cvn64kdVXY7ehsk8MgWX8/9lATggP6WxWfF5XriQtS3Epf+otxx2wLHbdC3JS1w4qGRU cvrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713170491; x=1713775291; 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=12B6L10PsA9Jh230IG9uEJXqT+JXXSEjbmkq482lFPs=; b=gq9UQrMSF+8fYCCjlB9lhaqODKLJgw12H/qBYN9z/XJ4DsWEblIRvJA064zHsntOxq 5ckv4G5Jjs6jmJK+mZa4UgwJDpHUD5oe+W07X4tfIGKJeTcHUUpINXNyODjyR4dvW67p JtoWVP3P8E/hEYoSEd6Xo3YCAuCZSuuROVIuLDDeh8dEHJlMPePo2K23CXnmzXB0zTuh 4z/GO0veKyIz1ZhZzqqMrcpngfljKuYr0h3jiYnH+OtMiVFsA/wQcV8tECkO56Zqdv6i AZkvJLxTDr9pW62EejckwelSv7tLFuHzvx7hl4rbBV4IxyVeOwFQntgn5ofqVT2rdFI6 kQsw== X-Forwarded-Encrypted: i=1; AJvYcCVW+ANa88J9xhbQk2XY1RpxbMx4S5rbNcdsO6s7wk7gVdIuE1VLuDVYSjBFm8k3927Nhi4X0CQcFWGKAChjCGN5m3Q= X-Gm-Message-State: AOJu0YynauuCkEUuJSAS+3LUlw9cyPwSedcOMU9OcQHcHFutWZfIFKXk KYKkwUiQtySxCPAoemqTGH/yiU8kTV+2HhISA7vmsRCa1xzarqabE6UxPBwpJb6rpNnnYQyVtSq 1 X-Google-Smtp-Source: AGHT+IHu3Id3boHE0EmOQ8pWwfFovlaejeViuBMnTD/yfIQaRW2940ghQ6qCZwrhul6FRmwhdLfOtQ== X-Received: by 2002:a92:cd81:0:b0:36b:214:bb21 with SMTP id r1-20020a92cd81000000b0036b0214bb21mr11364794ilb.25.1713170490833; Mon, 15 Apr 2024 01:41:30 -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.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 01:41:30 -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 1/3] virtio_balloon: introduce oom-kill invocations Date: Mon, 15 Apr 2024 16:41:11 +0800 Message-Id: <20240415084113.1203428-2-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-Stat-Signature: 9rgbnzbn6nofouabnowp6uwubi6kpney X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: E6C554000C X-Rspam-User: X-HE-Tag: 1713170491-23984 X-HE-Meta: U2FsdGVkX1/m5tgLEPwM/ZnQDkwvpKJh4nT+mFHr136zoj+YGY/k3S3U1g+VvGiv98gg0EYxp0JMFdu6/GlF/77UgaNIIYt0MkG1a4ToRsorWWABY+5+s2Sp/JAx5wE9FkM/1is0OT7VQ4RsXIMjKFxlunHEpyk6ZExr2qfRe5l1mp14benmqRrKwvufBAQfSlWI6TAVoGvjBcSjdZpnIPvVskJTMN4QU9GCY8JWZorb92UH3HrZqwC9noDliuAG2aI0vcPY2KaonQ6myGZm5L2VRx2nOD07l8s9gq8Rf2FivwfspdQ/0SKusZg8jJrBjT3FrVYiEYeTVuw50jh6fhcgPX8Kj/1Hfp0TpS+vrsypP3RSwyPrLWCqrlKMTPd3Jm03CkKcuTQUVmc6P/kxVdMfyOW9pbc/t2cbeVqHU2NhFAlxrZWvqEXKsC00xgtsnVAFp0S0dadGg8nhEBJUZxlUEyNsaGyu4HOZ56D9c4CgiLC4dytXrR9IMfSjzPiv/EU5z/CEiOmePqJUTHZfz2Vrp+CGeOT7ulPBn0yAKbqSbGG5m++ilzj+T9J2N8l++S5rBo8up+PMVn873ypkyFHY3vWf3KqOG2UAR72jFSAfXVhyej6ZIC1ZB+qMOw65uIH0+yjjE5G3Tw+miDSw2uuTzIdUMZoAL2KXFcA8ZIQdkrTKZk2v3BoVoVI/PqHC5Xbpol2hx25kkudHrK/wF3uO2Re3yVPsau8fe/Xp5NHKAxlChxEJHUSCbAUglNWt1K64VkxNYlulvlpSVa8RkXPvi39gzJAoEpJvaUPBZlp5eitFBZ/pxWV9d040IOpozmq3WCTp7GuH3okvDee2Iux3FjNTgFyMFLMfowmO66riJmsDsmzQFu8dB7kCOWV2cEuO/12BxI0GSNccB83EUkgU6kVLDMN/UrUPWx4wnnGqXyLc7L50Ht3geLqN/oh8BtygRonEGOtNAoh4EiU Tc/8FSoY /08FsCG/XOwioxUho8xv0UBCZLbDFSeEYeteEFLCiZtzxvonDFZWMK3QVChwyjUVeUZFxCpco44RhekY5icz3ztP7hwCDOmu41TdNdsLRk7um0iZGyInFWN0C+VtPJKdAyQXSBW19QF3lgIz7+e/vy0qRMbt/BGZNqSPPdo1xpgbJxyYDOn0CxgX73GU76IzDEmAuVktJPGUl3LQyjXRBfiD7WcTGzJuqbeEkylmcMcQJjQIKMn9JmCUMq6DCrZmInD8MoyRBtUoOz7YlN09y5OtMCrrmFmEU1Tc3cy/DMYuZ3ALTDlz2v0ASXRVHAiwu3VCoGk7T3OvB9oBjGAy01mtVqiiHCPhNngEFU5tR3lYZ90QYXP94p3dbZnv11v+JFNL3HdnaDw7/haGMn8u0eJw0zEr49JQ4OvuoWBMzAmMaOMw3oYjXb3ZJ7hStqrC951CCiKn2iQ3x9AU= 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. Signed-off-by: zhenwei pi --- drivers/virtio/virtio_balloon.c | 2 ++ include/uapi/linux/virtio_balloon.h | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c index 1f5b3dd31fcf..fd8daa742734 100644 --- a/drivers/virtio/virtio_balloon.c +++ b/drivers/virtio/virtio_balloon.c @@ -352,6 +352,8 @@ static unsigned int update_balloon_stats(struct virtio_balloon *vb) pages_to_bytes(available)); update_stat(vb, idx++, VIRTIO_BALLOON_S_CACHES, pages_to_bytes(caches)); + update_stat(vb, idx++, VIRTIO_BALLOON_S_OOM_KILL, + events[OOM_KILL]); return idx; } diff --git a/include/uapi/linux/virtio_balloon.h b/include/uapi/linux/virtio_balloon.h index ddaa45e723c4..cde5547e64a7 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-kill" \ } #define VIRTIO_BALLOON_S_NAMES VIRTIO_BALLOON_S_NAMES_WITH_PREFIX("") -- 2.34.1