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 603F6C38A2D for ; Tue, 25 Oct 2022 21:53:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8DBE48E0002; Tue, 25 Oct 2022 17:53:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 88C258E0001; Tue, 25 Oct 2022 17:53:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 754288E0002; Tue, 25 Oct 2022 17:53:15 -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 65E568E0001 for ; Tue, 25 Oct 2022 17:53:15 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 372DE40E50 for ; Tue, 25 Oct 2022 21:53:15 +0000 (UTC) X-FDA: 80060823150.23.685A835 Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) by imf05.hostedemail.com (Postfix) with ESMTP id D3D7B100003 for ; Tue, 25 Oct 2022 21:53:14 +0000 (UTC) Received: by mail-pj1-f41.google.com with SMTP id 3-20020a17090a0f8300b00212d5cd4e5eso349684pjz.4 for ; Tue, 25 Oct 2022 14:53:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=j1ebPB11JE5IFAkyV0hTUtb8iYF2G4QeJkAHbSonpqM=; b=Cy3SpsXHe4MYa7NALkJnN09vXeQems4AxsMMSNLXl04rex0tmvbZd4o6vXJqcAhaEY ukaT3ldu/vkOXILPa6oGq9DP3NY8fEWLZ2YkILfpSgvd7+quYDG5IOpNwKCopIlpmrSr jeEtbEaiF24gAwBoeYAKgWCkn8KcQM+bkpv/yaYrnPIOcYK8i/MzXvOF3dhqec6xpEA+ rtTS6Au+z3Os+jW/JhVhvyOr7UOUXyNTkzMpkFaHEa0O8B4rALJ7yJ23YZPd+twEXEQT tcFiCKDE/O0zC5j9nm5xnbA05I9UciPI/03KW5pIiXvb29r6b62UKvaDiCMdrhJe/1hD vNaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=j1ebPB11JE5IFAkyV0hTUtb8iYF2G4QeJkAHbSonpqM=; b=bLnaDArr3CYMPmACSKFFdgxXc+IQhAT97eMc/HZ6mJvSgauoL5z4IOqHrB2n2ciu8c Oh0UWZ6AJ5f3/H6DkZ57C2LTnEj8qw/RpOj/od7U05l2nzU/LomnvzDY8CBcrlW4GFOM cSmF3RONun/Klf0cMnjgOwEVVR4+Y2XJhV8lsejMZyDiM7bMIEaIUMRS/Hgh8IfoVs4S q0cGHjO6Lt50LnJftgt/fCTrdhSnmLHHbkX3T0yT1st9jTUTp6BcPpugG1KXZhx9qX4d O/BNBLhXnxRSuFJlnyoIwcXi8g8R5Ip+ASN8KXcLK0q+6+DhpXlATi8Ye8sJf0jk3sUP CLRg== X-Gm-Message-State: ACrzQf1vCRSNwH6c5CWaz4547bPXnNBowOsaPMTlcIWTZZEt+CyBzFRU krhWEGeb1NMF1zHl3+E94JeOY5ygoHgVX2yqBfk= X-Google-Smtp-Source: AMsMyM4C/2Z9I/zaOWPtWxp+6nRZCOyMFauEcH4XwoK6IZVlJnSZpqWUUV3Ik0V8yXili96TKo1GA9r17/1dO5s55Jg= X-Received: by 2002:a17:90b:1c87:b0:20a:e485:4e21 with SMTP id oo7-20020a17090b1c8700b0020ae4854e21mr442378pjb.194.1666734793686; Tue, 25 Oct 2022 14:53:13 -0700 (PDT) MIME-Version: 1.0 References: <20221025170519.314511-1-hannes@cmpxchg.org> In-Reply-To: From: Yang Shi Date: Tue, 25 Oct 2022 14:53:01 -0700 Message-ID: Subject: Re: [PATCH] mm: vmscan: split khugepaged stats from direct reclaim stats To: Johannes Weiner Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Eric Bergen Content-Type: text/plain; charset="UTF-8" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1666734794; a=rsa-sha256; cv=none; b=5ZeVTXWLmNkl9vkpfRk7pmms+38KO6eNKwksOcUanVDFzz4Y88jJNpYFRnfFMDmeAwO6Ir KZmEHLviA7zp0kF9mCNxQEFXwDGyg+oi1NzaPj3oJdRoI86uw95y/dWIXzyLAFYykn6I3t OEGyMNBRnbfpnOW20KeHF0XOfXGP88k= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=Cy3SpsXH; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf05.hostedemail.com: domain of shy828301@gmail.com designates 209.85.216.41 as permitted sender) smtp.mailfrom=shy828301@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1666734794; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=j1ebPB11JE5IFAkyV0hTUtb8iYF2G4QeJkAHbSonpqM=; b=Tzyr6MP1dqYlyEoLGD6fKTTVUuhuWgeit1MCt09gjSxbnfFe9m3fz3IpKy2TfgxZPEJ0Zr I25fw6zPkW6uEbhPxKvU2ZSpOYGUJgr6Ca8jC+3kIzgNEeBTifm2xGSzouoWo6d9Mzt2Hg Ch4dDYNm+HmYfHJ+qamti5g9+SHksJY= X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: D3D7B100003 X-Rspam-User: Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=Cy3SpsXH; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf05.hostedemail.com: domain of shy828301@gmail.com designates 209.85.216.41 as permitted sender) smtp.mailfrom=shy828301@gmail.com X-Stat-Signature: akiibx59xmu3qsbtaqha6sygmcaoo7pr X-HE-Tag: 1666734794-924299 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: On Tue, Oct 25, 2022 at 1:54 PM Johannes Weiner wrote: > > On Tue, Oct 25, 2022 at 12:40:15PM -0700, Yang Shi wrote: > > On Tue, Oct 25, 2022 at 10:05 AM Johannes Weiner wrote: > > > > > > Direct reclaim stats are useful for identifying a potential source for > > > application latency, as well as spotting issues with kswapd. However, > > > khugepaged currently distorts the picture: as a kernel thread it > > > doesn't impose allocation latencies on userspace, and it explicitly > > > opts out of kswapd reclaim. Its activity showing up in the direct > > > reclaim stats is misleading. Counting it as kswapd reclaim could also > > > cause confusion when trying to understand actual kswapd behavior. > > > > > > Break out khugepaged from the direct reclaim counters into new > > > pgsteal_khugepaged, pgdemote_khugepaged, pgscan_khugepaged counters. > > > > > > Test with a huge executable (CONFIG_READ_ONLY_THP_FOR_FS): > > > > > > pgsteal_kswapd 1342185 > > > pgsteal_direct 0 > > > pgsteal_khugepaged 3623 > > > pgscan_kswapd 1345025 > > > pgscan_direct 0 > > > pgscan_khugepaged 3623 > > > > There are other kernel threads or works may allocate memory then > > trigger memory reclaim, there may be similar problems for them and > > someone may try to add a new stat. So how's about we make the stats > > more general, for example, call it "pg{steal|scan}_kthread"? > > I'm not convinved that's a good idea. > > Can you generally say that userspace isn't indirectly waiting for one > of those allocating threads? With khugepaged, we know. AFAIK, ksm may do slab allocation with __GFP_DIRECT_RECLAIM. Some device mapper drivers may do heavy lift in the work queue, for example, dm-crypt, particularly for writing. > > And those other allocations are usually ___GFP_KSWAPD_RECLAIM, so if > they do direct reclaim, we'd probably want to know that kswapd is > failing to keep up (doubly so if userspace is waiting). In a shared > kthread counter, khugepaged would again muddy the waters.