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 99143C4345F for ; Tue, 23 Apr 2024 03:41:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 277256B008A; Mon, 22 Apr 2024 23:41:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 226CC6B008C; Mon, 22 Apr 2024 23:41:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C8A76B0092; Mon, 22 Apr 2024 23:41:27 -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 DBC7E6B008A for ; Mon, 22 Apr 2024 23:41:26 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 8CCA3A0C51 for ; Tue, 23 Apr 2024 03:41:26 +0000 (UTC) X-FDA: 82039396572.05.A5686CC Received: from mail-il1-f179.google.com (mail-il1-f179.google.com [209.85.166.179]) by imf02.hostedemail.com (Postfix) with ESMTP id C262980002 for ; Tue, 23 Apr 2024 03:41:24 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=AjdzroZF; spf=pass (imf02.hostedemail.com: domain of pizhenwei@bytedance.com designates 209.85.166.179 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=1713843684; a=rsa-sha256; cv=none; b=kGTi/paky+Gb0lAFNUZ24wVgHxZPD3cIT5t3tDtq06ZMkVul9tcG63Xw37jKH7D21hPv9O 8IALqurkFwOAqfdFdiB+pWB9rMwc9vgUU+Pw8bccIdtQ+wFO3pxepKivZJHko+aSdhm7CE CoytYQZAy30Q85vxLY0NVNwrHC1BozI= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=AjdzroZF; spf=pass (imf02.hostedemail.com: domain of pizhenwei@bytedance.com designates 209.85.166.179 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=1713843684; 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=Zk8sHHlFZ5yMas0e7wt0QxJKNRueI84ut/8EKgUk1gU=; b=68O8+esFUfe8v+5uULWGFyD5HhdWqsSAqZUM2j89LVLRccPTY+LZ6PPe5OAAiIBCFpQxcq TE306Q1nqlVCKUf6ULRE+eo5ijzaqru/jSw/0OT6bR5YKGroYnMiQ6Fx/FteO+Ch32fBMm LaAKNFZBGFoUvbNQhQaZcrL3TCtWmuk= Received: by mail-il1-f179.google.com with SMTP id e9e14a558f8ab-36b309dd33bso20533905ab.1 for ; Mon, 22 Apr 2024 20:41:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1713843683; x=1714448483; 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=Zk8sHHlFZ5yMas0e7wt0QxJKNRueI84ut/8EKgUk1gU=; b=AjdzroZFh02q7/ND8poQcaxDNtSVjUqiErffPJDYDFSl8VHwjEBy3diNR0S6/Xt0uc zGgdawZ3158h6MkQNjb/mDKiTY1WusDCzGweUQYgdY9oYsEIuZMW5Sw4rkgWsBv3Na71 k7hv1jqk9sKjg69FYVarLFJ5xiXWCearCNvG69mf4Ds9qu3p4DZboX3fryDSo5SOhn77 7s/N6SwMngroQJe9LMfYx2VDTpR7KyonDBcvEbCfzFo1ecXiDGukdjPznIhzDVrzsMTF IFKxVgcQnemI+aHl2IBv1q6mnzIzmwV0Ez4/LHohipndQ/PJ0LyIh6+Vz5OebllqB9v2 rMYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713843683; x=1714448483; 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=Zk8sHHlFZ5yMas0e7wt0QxJKNRueI84ut/8EKgUk1gU=; b=T02X37ajZDpdxFTtk9AAc0L71bY2X5JDxmf1Y3xfGh+oWAOV15hFbEcou3YyBLRfnv 8wF11wYzTRbmxnblCibPeYMD9eUGSJskMptc/1IoWox4sG/AfRO9UpP5kZ4WfVnkkHES ZefTiyjwj4NSl/o736QbGHd/+k3xwg3O+lzwgzwUqCAqQJLbZ+qa+9CCEPp0bl19pJuc cAISbIp6i+9CIml1i5knIdbDtV9iW/yyPKpWg4PxHOmilPwLonBC6l3M0lCbNmvsyK/j MmGHkobleEFy+PQFEg0F48E5TqI7L5mX34VAGQOcd7/uSDVugC2x77oOR4mZzETzQYGV meOQ== X-Forwarded-Encrypted: i=1; AJvYcCVQbWwgUvi1B305ffRZ1hhwZ4oCH0MiKhRwC/0CDyS6Y+Bg03EeKfPeMxdXWsT1bbojq7A/g9VNbtKphyO+YdPwJyM= X-Gm-Message-State: AOJu0YxaBX87bksdVhOtgE5AASDsbPlUWPqSJqrI+lP00Obvt14vLgdz 2BWDPlIY49R7HwphAAWPOKCX7BvnCnqCaUMb4AMIDWl7zhssHHIO+lJtjl18m2I= X-Google-Smtp-Source: AGHT+IGK5wXI7LkTDRk5nDef0rXFGK962Vq/MSDSyQakfWBHz0PVFwhhTJdfJ5JmoY+i8cpaYiedhg== X-Received: by 2002:a92:c267:0:b0:36a:fe86:5fcc with SMTP id h7-20020a92c267000000b0036afe865fccmr16168240ild.0.1713843683557; Mon, 22 Apr 2024 20:41:23 -0700 (PDT) Received: from libai.bytedance.net ([61.213.176.11]) by smtp.gmail.com with ESMTPSA id b16-20020a63d810000000b005e438fe702dsm8266980pgh.65.2024.04.22.20.41.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Apr 2024 20:41:23 -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 v3 2/4] virtio_balloon: introduce oom-kill invocations Date: Tue, 23 Apr 2024 11:41:07 +0800 Message-Id: <20240423034109.1552866-3-pizhenwei@bytedance.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240423034109.1552866-1-pizhenwei@bytedance.com> References: <20240423034109.1552866-1-pizhenwei@bytedance.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: C262980002 X-Stat-Signature: ij9g4dpc9h15sahqiuqjdu45u7nsdzkz X-Rspam-User: X-HE-Tag: 1713843684-505305 X-HE-Meta: U2FsdGVkX1/qWWKWmGS6qjQHRMxOFbcgEfMU0CPEq1Orgi3oQRnRHS225RvDB3O9wju3DhTTjCeruVI4u10nwJ8uA6A+wqT4U3eWDEeNNpvR0ADpGDTTGIGcGA8DoLnH3bWBKk6SPBwT9Sihxx4x2nREt9UwEdPAfFP2gT7jhaAgkVdmI1b3TMgg7wT4gPTs68UgFWO6daIpfKhmEDaq3RPtXUqY8giyAuCMWURepPnR0w9fgC517F7kKP1EI7lx2raiUhvUa0Jol80fq+Ph4wf4v8vwPoQee4s3C40gLIxv3Y7KkMR766+gmE+hDuT+6Dy5exHK5q2O79VAnZ8iykyEfmekaqsw9D/8VOAAqLolVjUA6g/85b+DmGuG+7odYLMOGmSbC2AK9SdId6rZjVg5KTnFgacD4cx1bicDmxY4y1Hd0fMkVJBW6cYyDzsCenkVj6r6Fjx9/5xPbKcdaXv0BAAz4LKWLoqwqRGtoGCLCe0qr1PDIsEkr0qkpss9K609Ru3PDPYQ5cTi/5bY4qEcs4e/uR4Bwweeh6Zjl56zD9yv3et6PhP5rgweNGSuRQXo3J1BEe3q3oyqJkGwlKLmxbm0gxiUPRiE1ijqA+Ul5dRdU1/GMhSXdcor/M3qMbEH/d6cDpKQVyAvz28TmadlCIyY/PjIOmDBPIVlSk4e76JXFYsojBik0b+F3tpWw1u42KJ2paJSHAJeWiVPNg4DfZQ0ZNsKKfjYkkNgavqxwaNF2MuREBdOKKwfABQoPyKO3mWnA9NJaxN4F9yGKOOCSj/Xc0AC5vyF6DplGBwGJ+wAUb8WcLBf5V9F7iPysH5NlqEK/wVjVQPb2lYiuEcPsyTo30aJiUgTAB7x/PXdwfzE0QM/qWAMFwFsBn86fHWV78lOVkvJQcI3m/9i65TqW2M7a2ZJE9KsDO7pIZxxL7MiC/wrcRaYD6RWCqEsUkH38kEbhLq9SaLQCsc kEa9d5pF +m1C2DjmMskN1R5u1pAnXRw7/N5X7F702ZCZuz3ahoGBNrWX/rtqFlxg8UXiqgIGmZK5nvRChi/jEsGOpGDu9+OO/ChodlYtXdkSvaBIQ1ooE9LTJ/vf0dq1Gk0HOUnttXeZnyUlOw+YtUfUkfEsS6Zzdq+SPOBqlJ+9FZmq+k0eVl1Ivwiyar2+SvKyGxPx/SPW+r/29czJwLHAeBCrhWwfFcH+tnR4DVm0KeceVXy+8aHsICoyHMAP/v4cSvrbwvzxoRvLAaB8fdiogpuXTXWKPAl81kdyL39EQAb38NoW9qEvic0fF4S5ZyLBCRV8dyw34hrmsnwXD5ZXNbyN5FUFMrLRT1kV4K84nY0/zFfAS+zkzE3x41mWn7/iU2Ijf1v1SqzJl7TNZmeK7h1l7dFEC3zDj2PSxKy+PXjq/F01Y+GkblNIRl38mE390EpYPRDbOEmZkjLhgmdGdefGjsrDIegss99G95ZpMWMwMgCPH+J4= 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 1710e3098ecd..f7a47eaa0936 100644 --- a/drivers/virtio/virtio_balloon.c +++ b/drivers/virtio/virtio_balloon.c @@ -330,6 +330,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("") -- 2.34.1