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 6019FC04FF8 for ; Thu, 18 Apr 2024 06:26:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E895E6B0082; Thu, 18 Apr 2024 02:26:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E39C86B0085; Thu, 18 Apr 2024 02:26:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CD9586B0087; Thu, 18 Apr 2024 02:26:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id B0A4B6B0082 for ; Thu, 18 Apr 2024 02:26:16 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 64130812BD for ; Thu, 18 Apr 2024 06:26:16 +0000 (UTC) X-FDA: 82021667952.26.410AB95 Received: from mail-pg1-f177.google.com (mail-pg1-f177.google.com [209.85.215.177]) by imf27.hostedemail.com (Postfix) with ESMTP id 87F4840007 for ; Thu, 18 Apr 2024 06:26:14 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=XpXX2h3U; spf=pass (imf27.hostedemail.com: domain of pizhenwei@bytedance.com designates 209.85.215.177 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=1713421574; 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=wbU6FsIuncluFPwH7VPsX/cWOPAMxIJmhU49fecmUC4=; b=xkYozMmfaeaBLbFZ9xBWVJeMaqz1S5i0nuwuktoBHsk8NpHJx3hzNfde6bXxmRlP8dcS/q bBU2Dt9TqdLn/C0iGVlffyj+VbYFKtf1gEglKjkH6Xs5OwTeeGzsuyyCVVDff/hlr8FziL sMI9wnrDmHBok65HDWMVPlp6UcVSADk= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=XpXX2h3U; spf=pass (imf27.hostedemail.com: domain of pizhenwei@bytedance.com designates 209.85.215.177 as permitted sender) smtp.mailfrom=pizhenwei@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713421574; a=rsa-sha256; cv=none; b=PYv7+7Lbc0EkJ3YkE4R5uo29PHgY4Jb8Qhn+xZfZOeRbJJn922aLtpJ1c4Q8cnJX7E77bA dEEk2E2L1PocGOzCrSUjvNk4S1Y4nQULV9NsiOw43WSL3rHLpTWzMDorpKgID/sTkThFXN FJp10uza6DC21mgAcDmyZbwtUn7O60I= Received: by mail-pg1-f177.google.com with SMTP id 41be03b00d2f7-5ca29c131ebso308502a12.0 for ; Wed, 17 Apr 2024 23:26:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1713421573; x=1714026373; 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=wbU6FsIuncluFPwH7VPsX/cWOPAMxIJmhU49fecmUC4=; b=XpXX2h3U7mGYlKw/9yOLucxWxKdFXbjSnkyP8lALsPJFSLUvnxiNwsBlEeyikX0R4g BnAEFuL2GmpTIv6R2PcPR1bhNEXwuy68b4VZnw6qBO7Lfp4zVZ8+HpY9XA2z6kXVnxEO EyypTFEEjufbUhDDDhQevAJz7nMPuFrSIEyOdFQg1amO4wzdqsvN8zAsBJwCo6lYnR+W i3bcvAaHlM1JPKTq4ARbM702jPsaYlYUtz20+/Ix6TSupuMBhhl2rx36OwMGDlMmHGYj jNWzeeR6AkDgNb6bPSZ184ekPnKfr7mGNMBSjk0izKmDPYYXpBqo1Czrhi8ejfrMM5Tr lsLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713421573; x=1714026373; 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=wbU6FsIuncluFPwH7VPsX/cWOPAMxIJmhU49fecmUC4=; b=V4SQSrGOAAGbTqL8lcnoyQa1/SeVNyq8hI0cDAdIL9QNNNUmmrspKIOXbmO4TfZfs9 wgAKfy3LITWcSmn1c34h14YCji7dAsKkjKy/Muz4zVyPbU8XvwKykkpOviIE1FM74RDY PLyqvFPd2FUkaw9+0Ixj3+2E+ZkhIS1oX3o8JSmJI8mbm83HV0iKTvYzDt6QuBXKSYIs iMP9elwhnMr49NkuLPpsU4LIn4ODa5Xrjro18GVtRRiXjgGxokaIkMFoeW3LATUzkIUz pXjW4eiifwAaFC3QZYhO8vseRRFkoUAUy+bAjZPBqmRxmBhL2TFaFF8aujTX6Uq/K78w M7Tw== X-Forwarded-Encrypted: i=1; AJvYcCWt8UNVWDLxa3h6nXYRKL6ULkUOQoB35lMFhQJu0anLvf/1lifcTL9XqhrXf3voUjIvqRuC+YK2l5eUrfzKy9mwwFM= X-Gm-Message-State: AOJu0YzpPVJK3VsRDHa5Zj17L2Or3CMq0JzuO+BWNsj90SKrRlk1vMRj Qldvkw3ekIJBX8yAkMeihimW7QzbxUNzVn4qCC4uSxy0f9vS6ItmlZcJCLd3UkT/qtUGY+olD1d 1 X-Google-Smtp-Source: AGHT+IG8KbPnW3d1OwSGwOGuRvAB4kzTNDzAERiB9f7OxYdoLKYRlUD9DImfcrUf+Wr56E8/G1LSNw== X-Received: by 2002:a05:6a21:2709:b0:1a3:5c61:5ec2 with SMTP id rm9-20020a056a21270900b001a35c615ec2mr2398878pzb.16.1713421573195; Wed, 17 Apr 2024 23:26:13 -0700 (PDT) Received: from libai.bytedance.net ([61.213.176.11]) by smtp.gmail.com with ESMTPSA id s21-20020a632155000000b005cd8044c6fesm666392pgm.23.2024.04.17.23.26.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Apr 2024 23:26:12 -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 1/3] virtio_balloon: introduce oom-kill invocations Date: Thu, 18 Apr 2024 14:26:00 +0800 Message-Id: <20240418062602.1291391-2-pizhenwei@bytedance.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240418062602.1291391-1-pizhenwei@bytedance.com> References: <20240418062602.1291391-1-pizhenwei@bytedance.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: ytaeh3w1qfajji7ab1bztxgcqymf34yw X-Rspamd-Queue-Id: 87F4840007 X-Rspamd-Server: rspam02 X-Rspam-User: X-HE-Tag: 1713421574-960589 X-HE-Meta: U2FsdGVkX1+lVmlb+x19lD4TjzOCRrQvMSbuZ9u0c/DsJyS2uT3u83qHGGQtIIwB5sPmzX0hzJJLvgMUMLp2bwxIe1KzKkPngbsR4QQCwx5ZTFSnDXgFgaCV/wr2GzF62pi4cL57ZpSSUX12NYnjaZ7p53zA6RsUiFLe6+7lg5pinWsMxGT1Qc8Z76cyrKSMraznnNRPY7YEmUd849VNoN44GI4F6K/ZYZXUqkZ2YNzmMFgiOKPz2XInDYjQMXG1ewu3ZFH14WExm8MhuZ630hnsJcBDOwk/JGD8cNDULjnqF9BvbmGKNddnjbXe8usGArvo1okQfqT5vIegKzr69diQ3LVWDSy9nh/tYf6FY85FGBKzT6zEX5mzIBiIVLzG+xVtTJij2z/kL8IUnfFa4iEkd7085ISG3YGLN+PmMtW1FyMPPpPzCdedwG35EUXupeqSQ98+E8QNGsd1uzD9mASrlLojR+oc49qaTHjgT/9nMek3qyuTd9H9VWVUJ+2gqsAQlp01H9xTIjXAOIFfSk4Awsgk4PRd0lIgEflnU59iuH/hBkl6OdjxatzK4hOBojGW76VYs2+3J7qdHDpooDxYRM6lmTC/Pw7VpIPtaaVKe+toR5Fbl0S+B50vc+QQrdA/FvIUws9+3H5PswheVqhAzRHP87jCMX2EvCiapZ6/vYEbCkDaKP9mP6aK/de5ORPCSd5UWr0enPg+E8kd0jX83xFgpsogPsL9OM99lIh5cHitZsSRk064KQTLv6nbWSmMKEQswV/isFmqneiFfBSEyIVt1MRjEHRaw2EhgRIzEjjeNpCK0HySejHu8WaIf7t3+uIGtWE5bSpLrRupybKUK4F6jpoZLLrJ32YJn3bFph4F+NkFPjyWoOCpf5cLDpHoZEL6/BqMNJ/pTYi9WbqR+eheJ5IIK7phQu/JgVO0pRizJkW29hScuMEWb5TkrDwrWv5wz0ISKbvA5EI I3pd+ibS cKrYCi7rSZOaFWRuhXSjfsVJv9Bt5LS37bRJm6AN5Plwy6a1qKL5TLd/nwCyiiHYzDL2KVM+/y3D/9xjAnUomK8beOJTO6NuVNqQTzTKdw7eVl3dJ+r7pQpxocqh9iu/XUqaIoTuffrab1DVR449vujYSaGgLWDx2KLphAtNhdWN/vKqS9BY2M8r+mzZtVxd9mgOwOTngVn8tiotEGEuJnhfCtisbD7WAj5a0a+R+qg9WgTXfjJHX7iHLu0t5SEOn9h+9KuOR4ecvELlFqavDlNjA/KOMJ3Axi+62wL2e4MjweibHS2mrVXiBv3JG5SDjvIr/KXRsz5ETLU0G2pPKaTDCWa73/GUbXj1xDSk+vOMt7RGDaejnU15/aZyU/8U1bCwEUeoGX17dcUZi6VonIDl4PNkXsnTNLM2QMH0Svrm6BRBZaOBnYlSBtPNlxcPDJLAsVpej3WLnwHA= 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 | 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 1f5b3dd31fcf..fd19934a847f 100644 --- a/drivers/virtio/virtio_balloon.c +++ b/drivers/virtio/virtio_balloon.c @@ -337,6 +337,7 @@ static unsigned int update_balloon_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, events[HTLB_BUDDY_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("") -- 2.34.1