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 EE529CFD2EC for ; Fri, 11 Oct 2024 08:53:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5CE346B00A2; Fri, 11 Oct 2024 04:53:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 577BD6B00AA; Fri, 11 Oct 2024 04:53:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3CB366B00AB; Fri, 11 Oct 2024 04:53:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 152586B00A2 for ; Fri, 11 Oct 2024 04:53:09 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 3923EC0EE0 for ; Fri, 11 Oct 2024 08:53:04 +0000 (UTC) X-FDA: 82660706856.14.A0C4127 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf27.hostedemail.com (Postfix) with ESMTP id 4B9954000D for ; Fri, 11 Oct 2024 08:53:04 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=xEGDobxt; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=tq4JHZD0; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=xEGDobxt; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=tq4JHZD0; spf=pass (imf27.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728636603; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=nAlyR+/4CFNT2GGHrEjQJ2/LjpqtZ1LuCOxv8aKDnKc=; b=1bDFrANSvNG0Mbtuowh4Xvhkb0Hzw88lwhzkRNUff7KbRcJWZ0PG6raplHoL9P2fBMgbHZ sDcLhU9qLa1eWLIkD5cTQ+wKNSu+5gsFAI4DQcj2CSmkEHTahFMDjfkje69cfzg4lgWKLG WjzdMpeWc3HCxIcHahtSJqaM6O0qAPU= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=xEGDobxt; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=tq4JHZD0; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=xEGDobxt; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=tq4JHZD0; spf=pass (imf27.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728636603; a=rsa-sha256; cv=none; b=ebRpDg1SHH99NdnQYBT4yUR5nmg7ixUmk5zJPUONj2RdSZCRofqJOmRJh5QKoLgcVVoc/E moBGlU1z8EzlvaiMlReh1k889+Gbt26hgRjOCCCEB5Ic5XRhUPwgLticI964f2bPxwveq3 q+Mupb7TypN6+F/zR3885wDB9eY8bqg= Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 9013822003; Fri, 11 Oct 2024 08:53:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1728636784; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nAlyR+/4CFNT2GGHrEjQJ2/LjpqtZ1LuCOxv8aKDnKc=; b=xEGDobxtSbKX9JWVaHbvYNOwMdoiZO6vlbuPTugvadZyFxz1r0NE4l8CKsg8C8DBgYJHLJ mNBx7t5SS3ktUkXHMuFjCtiw6yu9BRzG12Bn9zidjMtCqD7NSevixX4Lo6GqyHBHT7yG0g lgJjVTKRdA1kiBjwa1mK2YPJg32YF5o= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1728636784; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nAlyR+/4CFNT2GGHrEjQJ2/LjpqtZ1LuCOxv8aKDnKc=; b=tq4JHZD0FUkrZ0oQCbIbgDQhgxdf2iltDf840Y45Qikr4L8cyH2ZsN+ijCY+MY1BVnkCQD 37L01L2HWABaZ0AA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1728636784; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nAlyR+/4CFNT2GGHrEjQJ2/LjpqtZ1LuCOxv8aKDnKc=; b=xEGDobxtSbKX9JWVaHbvYNOwMdoiZO6vlbuPTugvadZyFxz1r0NE4l8CKsg8C8DBgYJHLJ mNBx7t5SS3ktUkXHMuFjCtiw6yu9BRzG12Bn9zidjMtCqD7NSevixX4Lo6GqyHBHT7yG0g lgJjVTKRdA1kiBjwa1mK2YPJg32YF5o= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1728636784; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nAlyR+/4CFNT2GGHrEjQJ2/LjpqtZ1LuCOxv8aKDnKc=; b=tq4JHZD0FUkrZ0oQCbIbgDQhgxdf2iltDf840Y45Qikr4L8cyH2ZsN+ijCY+MY1BVnkCQD 37L01L2HWABaZ0AA== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 76876136E0; Fri, 11 Oct 2024 08:53:04 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id +YFsHHDnCGfBIwAAD6G6ig (envelope-from ); Fri, 11 Oct 2024 08:53:04 +0000 Message-ID: Date: Fri, 11 Oct 2024 10:55:50 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] vmscan: add a vmscan event for reclaim_pages To: jaewon31.kim@samsung.com, "sj@kernel.org" , "minchan@kernel.org" , "kaleshsingh@google.com" , "akpm@linux-foundation.org" Cc: "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , "jaewon31.kim@gmail.com" References: <20241009093124.3647359-1-jaewon31.kim@samsung.com> <20241011082539epcms1p6039313672abedf63d5368a3eae87bad5@epcms1p6> From: Vlastimil Babka Content-Language: en-US In-Reply-To: <20241011082539epcms1p6039313672abedf63d5368a3eae87bad5@epcms1p6> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Action: no action X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 4B9954000D X-Stat-Signature: jqen1x6rh5shacdog5ppz59sjzjph3b1 X-Rspam-User: X-HE-Tag: 1728636784-840864 X-HE-Meta: U2FsdGVkX1/yT7bqvMdlW2vZX+6R9fupTV1P42y3fP7qlEYsjJ5MOG2BRlG4yostB0TV8scIG2Xb9oU9+3bxVKL5qWb/7nfp/3ZihkanCiUtHkDYYBEQ1ZktLNsU3vuOJaOfIPeRH8fUsHYOp0r8ovM5AOKSYbQMWi3Uw6DRuMwpWnC8eZTywaNYe8dgyCBHDnyOfqxdcCJsh+iNX5FmoCxIU7lCRxe8ZRwuDXCrzFIzA4wCfi8mhqFnIj2eF+6Fd6DgnNjCCvoXnPsDx37hpe6m7/QiVqcKFL1swDa9ydf0dlJFDu1X214gHDtpbmI3AzIHL8mSUbO/d1Ch45Hit69sWxDgMpfUp5m/5ChGXe+NVmfk3dPVEUfbBb5+d+YdMGmKhDSdZ2ZiSEhU/+8pcRWmk0E8k3M74MyngEQn7/BUUqPfVX+yUsBoG8y/uB7VD3tpdyjSNHDFp8qHE61bWUEQgFgivVCHBQ3chyogO9FBguuJlyi9WYNLp1iUsNBzSL5uOod6ibEMvC6aGYdUIDPHFXYl7zb6MpNpLGKFYI++4F2XRp8yKPKqqckaMHGKGapaOWxffgWVlwTkmbFjjf78g8S7ZzXoruefPCsj6zxq712oOMOCODrQFsGq1ISruYAooEaREBQw9VnmtnkKAOXnYblu1A3jZ/bd1fHD+5B+rNsQgkztI0a9ZfCPjM/8/WegK57P9fmSA7VTEO22BGhhu747/8KhMZp0mxUlLq5DEKt2Gts1AbEWXyL+GN6Dy+yC1ETB/mnqKeq5ZCQ7Lysj/ogxPcmOMtTb6qjU/X7AUHuYj5MCpyhYmmpjnQdLCUKZbM6J7I+rXGxqX8f+JKcDIwGfryJE+UDbxxzx0VRjSRfl/vORB9lGYzLsADM/kcBxVfftnOCsRnRGEiYp0mRGg0sid5gQxXyT7zdjUXuNTIj5/8+SbQhk3ZJ+8o+42WupZ2jIXvgRMpqqPyM tmyoq7wG fvDbrFRkKZUVfPPO/4YFaB/2hnW89M3tRsGzFa73ufWDfFMHXP0JoDeRZjsuPFFMzUK1K/pJtG9OqQ4uCVDVRsH4iZDQSr1pE/HmvUVVZcIHZzbAv+JRvWC6LqbsCiRztiIodG1NdUaNbdzYhzyZuTUW1M/wzA5NI7UDzmeYokFqy3Ckr85Ssd1ZVdQtWc5kSHIaE9mojhOjqkIYx/842kKbMpbCyhJOCh1kvjUM957SPv/7AfgdnBSZ/byiBQiPgDMvp1l8k5mPq1WCi+/Ub9ZIaJirZvd9P9ELt9czA3ph69LR1pIcpMwaVdTAXhlsjVJuQzCWkMEF1VU+dbMcOgJdg4mu5EAVma48XxyvK4+Pk8IhZ8u84fTeX9YaK1c/z8bjQ7+ICfFbEZssIo7twtgiXTsCIu8RK/R3xglwSzPR1kGwmncnCRjI40r3JB6R/CE/A 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: On 10/11/24 10:25 AM, Jaewon Kim wrote: > Hi > > Thank you for your coment. Yes if it is allowed, I can do that way. When > I checked, the following functions should do the memset(). > > reclaim_clean_pages_from_list > shrink_inactive_list > reclaim_folio_list > evict_folios > > Actually I was planning to move trace_mm_vmscan_reclaim_pages into > reclaim_folio_list so that we don't have to sum up and we may be able > to print node number, too. As we will see log for each node, if we'd > like to know the sum, that would be the post parser's job. > > Option 1. No change on memset, but print on each node. > mm_vmscan_reclaim_pages: nid=0 nr_scanned=112 nr_reclaimed=112 nr_dirty=0 nr_writeback=0 nr_congested=0 nr_immediate=0 nr_activate_anon=0 nr_activate_file=0 nr_ref_keep=0 nr_unmap_fail=0 > mm_vmscan_reclaim_pages: nid=1 ... > mm_vmscan_reclaim_pages: nid=2 ... I see. Note it processes a list that might be from multiple nodes and will group consecutive pages from the same node, but if pages come from random nodes, the nodes will repeat and there might be many trace events, each for few pages only. Guess it depends on the workload if it has its pages from the same node. Maybe you can try and see how noisy it is in practice? > Option 2. Change on memset, but we don't care the stat from each node. > mm_vmscan_reclaim_pages: nr_scanned=35 nr_reclaimed=35 nr_dirty=0 nr_writeback=0 nr_congested=0 nr_immediate=0 nr_activate_anon=0 nr_activate_file=0 nr_ref_keep=0 nr_unmap_fail=0 > > Would you give me you preference between the two options? > > Thank you > Jaewon Kim > >> >> AFAICS shrink_folio_list() only cares about these fields: >> >> pgactivate = stat->nr_activate[0] + stat->nr_activate[1]; >> >> in order to do >> >> count_vm_events(PGACTIVATE, pgactivate); >> >> Which could be adjusted to deal with accumulating stat - i.e. take an >> initial sum of the fields in stat and subtract from the final sum to get >> the delta. >> >>> unsigned long reclaim_pages(struct list_head *folio_list) >>> { >>> int nid; >>> + unsigned int nr_scanned = 0; >>> unsigned int nr_reclaimed = 0; >>> LIST_HEAD(node_folio_list); >>> unsigned int noreclaim_flag; >>> + struct reclaim_stat stat_total, stat_one; >>> >>> if (list_empty(folio_list)) >>> return nr_reclaimed; >>> >>> + memset(&stat_total, 0, sizeof(stat_total)); >>> noreclaim_flag = memalloc_noreclaim_save(); >>> >>> nid = folio_nid(lru_to_folio(folio_list)); >>> @@ -2168,14 +2192,20 @@ unsigned long reclaim_pages(struct list_head *folio_list) >>> if (nid == folio_nid(folio)) { >>> folio_clear_active(folio); >>> list_move(&folio->lru, &node_folio_list); >>> + nr_scanned += folio_nr_pages(folio); >>> continue; >>> } >>> >>> - nr_reclaimed += reclaim_folio_list(&node_folio_list, NODE_DATA(nid)); >>> + nr_reclaimed += reclaim_folio_list(&node_folio_list, >>> + NODE_DATA(nid), &stat_one); >>> + reclaim_stat_add(&stat_one, &stat_total); >>> nid = folio_nid(lru_to_folio(folio_list)); >>> } while (!list_empty(folio_list)); >>> >>> - nr_reclaimed += reclaim_folio_list(&node_folio_list, NODE_DATA(nid)); >>> + nr_reclaimed += reclaim_folio_list(&node_folio_list, NODE_DATA(nid), >>> + &stat_one); >>> + reclaim_stat_add(&stat_one, &stat_total); >>> + trace_mm_vmscan_reclaim_pages(nr_scanned, nr_reclaimed, &stat_total); >>> >>> memalloc_noreclaim_restore(noreclaim_flag); >>>