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 96A82C3DA4A for ; Sat, 3 Aug 2024 08:30:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ACF5F6B007B; Sat, 3 Aug 2024 04:30:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A59876B0083; Sat, 3 Aug 2024 04:30:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8FC3C6B0085; Sat, 3 Aug 2024 04:30:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 728DB6B007B for ; Sat, 3 Aug 2024 04:30:58 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id D6E6881012 for ; Sat, 3 Aug 2024 08:30:57 +0000 (UTC) X-FDA: 82410263754.02.121DDD5 Received: from m16.mail.126.com (m16.mail.126.com [117.135.210.7]) by imf07.hostedemail.com (Postfix) with ESMTP id 5E95640002 for ; Sat, 3 Aug 2024 08:30:54 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=126.com header.s=s110527 header.b=puJSPfPR; spf=pass (imf07.hostedemail.com: domain of yangge1116@126.com designates 117.135.210.7 as permitted sender) smtp.mailfrom=yangge1116@126.com; dmarc=pass (policy=none) header.from=126.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722673825; a=rsa-sha256; cv=none; b=2QKdiYw0qrh450TWlVITM+AGFRjxTuDkCLfMyKJaoqBzFE8KfIhxKl7K+JXZfYhBuATFQb 5PLdyxkiN2zNm6N5M2+JYP2nNPwylHjHXUoGVFWw0I/z8aRLWBlv5emosC/RDrUx8uFAe1 2Ng+tg7p4zSB8sJbcv3b7gjtneIwSpI= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=126.com header.s=s110527 header.b=puJSPfPR; spf=pass (imf07.hostedemail.com: domain of yangge1116@126.com designates 117.135.210.7 as permitted sender) smtp.mailfrom=yangge1116@126.com; dmarc=pass (policy=none) header.from=126.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722673825; 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=Kwd1m/MJjIKZrkhAS/DcQ+MhwBRzkHYonfxsoBTNhuU=; b=SOiLJl3ZQhhJmCccctOSgFSXZwl/+Id2fE3nnqhDBRNsMujatDuixSte3ppSvLM8aPwmH6 s1TcLjDSU6VcDKXCgHC+7XCj5KLbkH0M6So4iO1Wzs3sC8YPsBkUX1RsRZMKrDtEKrG9tu LloN5xubZutfIaWmfpqP9ke+e2bcxBM= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=Message-ID:Date:MIME-Version:Subject:From: Content-Type; bh=Kwd1m/MJjIKZrkhAS/DcQ+MhwBRzkHYonfxsoBTNhuU=; b=puJSPfPRrwF0CizM0FbDc5aT0e/lsQ65uxHQ9Xi++dZ5IUXWIEsAoxO7phOT94 h9E56Chff4GhV2K2co5KX9oFb5UKZBUwVdDZpav6tY9jeWBwUL6NdfWoh8NYbXVD a36rQROHiAFzfc+SkyXqOvOmzb0/7C6VxMySKJKejjKCs= Received: from [172.21.22.210] (unknown [118.242.3.34]) by gzga-smtp-mta-g0-0 (Coremail) with SMTP id _____wDH7y936a1mSUgJAA--.4106S2; Sat, 03 Aug 2024 16:25:29 +0800 (CST) Message-ID: <00a27e2b-0fc2-4980-bc4e-b383f15d3ad9@126.com> Date: Sat, 3 Aug 2024 16:25:27 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH V2] mm/gup: Clear the LRU flag of a page before adding to LRU batch To: Chris Li Cc: Andrew Morton , linux-mm , LKML , stable@vger.kernel.org, Barry Song <21cnbao@gmail.com>, David Hildenbrand , baolin.wang@linux.alibaba.com, liuzixing@hygon.cn, Hugh Dickins References: <1719038884-1903-1-git-send-email-yangge1116@126.com> <0f9f7a2e-23c3-43fe-b5c1-dab3a7b31c2d@126.com> From: Ge Yang In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-CM-TRANSID:_____wDH7y936a1mSUgJAA--.4106S2 X-Coremail-Antispam: 1Uf129KBjvJXoWxArWkur1kXFyDXr1rKFyUWrg_yoWrXryUpr yfJ3W2yrs5JFnFyrW2vay0vFy29an2gw4Y9345t39xZ3yqqrn7ZF4IyrW5ur9rtFsrKw4j qF1Yy3yI93yqyaDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jjpB-UUUUU= X-Originating-IP: [118.242.3.34] X-CM-SenderInfo: 51dqwwjhrrila6rslhhfrp/1tbiWR4wG2VLb3y65gAAsN X-Stat-Signature: 8d61xc5bk35azgu4j9dwu56rq84d8y8k X-Rspamd-Queue-Id: 5E95640002 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1722673854-788119 X-HE-Meta: U2FsdGVkX1/zkfvPMDaWScrKfxN4bYo1mFwXZPlEDSYkxmcXt34ObueGazltdnXi63X73zzf5S3MIDWIkhOWAV6UImkaz4h/yC/1xCL9dO5SvmT+hg5byoYzEEuGcSvCHV6YWBLJt4SCTfp1FiOturD0TZmhg4/RZO6LWGxrk7Vq4XM8tjQ3WVpqN3T79jwmPLPr7Y/hzjl0nLg668BvRGFDgDpMRf0AMhqQ5fWzAFNCsJH2gofv/4k7p9g/zxI2dEiHK8nkAIx9HgtovF0FQYQm1ax9LBp79yBo7GkU1Zc02VksWIOeNRp/P1j73gZj9yA4a6nHLJFj03VpjW52muaMYGAgb8MImqIHRw2N/hBrwYmbmGSyvqHqpko0AJWgCflTg2tznIQY0UzdtdTNJrwB/pT1gZ2x9MIhCEyUqZ0PDw2pGzZlX2Xc8oURrRiVKHLGZWpm2CxG5nbfuXybKR9dWaRN/0MSVH3hQRFdQ2G5JDuj8rACsI3V4W0CEZAVETUZMe+9L966makSAhTNUi/xUpvl5Fl8Dxvuze/OtE1WHGABuvp5xeoaYjbLjHW7pLov+lnHRUQ8+B3hHeJELcrj7pZmfXn8clvc2h9pynTNlZdEvXFLFvhrhLx9YkUoe8ChYjyMGUA+mtpdmJQIkCJLNWspvqnEa+E6f7Rpd7eGoiI+xIOK69ULmkYG/kPyRARFT+hgIl0K35f5FA1KCstH4nQhx9ZWOQOURkQDra+XOZmrQVQe+Kc7fR/L0woF0LTMNOv4DYpc/+a+VXw1aT7XWuhxhZM0cTnDEv0nJzeVGlZZZ3Q8UjZZFPA58I5Eg2zNqovdm9wODPCZ86cQIqvnFsYFbQtIXAsGr4k5BiMCkNbTijewp9x2w6/DB86skk1keTHDXYKQubKj15mxSX3U3cTTo0ntF0hHC8G+zQFkQnolg2rmCW4JaMCc4t7yZG59pULiMdwy7hrTcLc fB1bmWdZ Hmrjj5HXj0mh0mklEMwE3c7jkjmiFmA3bw4eGxVQdEn/7JM7BtiCfMoSbKw8iAVMTdjOfFsbeaJefHdUsFaRm+KXVrDMsZvAaScBw7F6BlwF/S2EJM00QFoGujGAu8vQqs0Kz3ObR5cS+4cwhV35UXyQ+U9fRrKUmtL6vdReOP/HqRD19V0kgWEqUCCa/pjKw7INIjE3qsAmGoLpsI+iUjYX8tLupUglGCSl5CEfzq44tKc1h6RmQh3IK3RSaynlqGGCKg4Zh1dUjsGc4vaXUx+6d31lYx/d1BlyyVxtIM4jINTAyE0q7L7SdVnGi73HWKTmaayG7ALIcm9NrRS5jQ1n7arPggU+Y6a+dxfZWM5IqmciaOpROj8RW1fS3S8kiV9/01duI6fky7MZv59R2rca1QCQLEjPDtDfBYVXBMrU7OtsvL9opJ4oUSPx3JzLPozjFdMnvulLqze8TluzknPh5u7apMWsfNCn0zlzkGxaRjJA= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000019, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: 在 2024/8/3 4:18, Chris Li 写道: > On Thu, Aug 1, 2024 at 6:56 PM Ge Yang wrote: >> >> >> >>>> I can't reproduce this problem, using tmpfs to compile linux. >>>> Seems you limit the memory size used to compile linux, which leads to >>>> OOM. May I ask why the memory size is limited to 481280kB? Do I also >>>> need to limit the memory size to 481280kB to test? >>> >>> Yes, you need to limit the cgroup memory size to force the swap >>> action. I am using memory.max = 470M. >>> >>> I believe other values e.g. 800M can trigger it as well. The reason to >>> limit the memory to cause the swap action. >>> The goal is to intentionally overwhelm the memory load and let the >>> swap system do its job. The 470M is chosen to cause a lot of swap >>> action but not too high to cause OOM kills in normal kernels. >>> In another word, high enough swap pressure but not too high to bust >>> into OOM kill. e.g. I verify that, with your patch reverted, the >>> mm-stable kernel can sustain this level of swap pressure (470M) >>> without OOM kill. >>> >>> I borrowed the 470M magic value from Hugh and verified it works with >>> my test system. Huge has a similar swab test up which is more >>> complicated than mine. It is the inspiration of my swap stress test >>> setup. >>> >>> FYI, I am using "make -j32" on a machine with 12 cores (24 >>> hyperthreading). My typical swap usage is about 3-5G. I set my >>> swapfile size to about 20G. >>> I am using zram or ssd as the swap backend. Hope that helps you >>> reproduce the problem. >>> >> Hi Chris, >> >> I try to construct the experiment according to your suggestions above. > > Hi Ge, > > Sorry to hear that you were not able to reproduce it. > >> High swap pressure can be triggered, but OOM can't be reproduced. The >> specific steps are as follows: >> root@ubuntu-server-2204:/home/yangge# cp workspace/linux/ /dev/shm/ -rf > > I use a slightly different way to setup the tmpfs: > > Here is section of my script: > > if ! [ -d $tmpdir ]; then > sudo mkdir -p $tmpdir > sudo mount -t tmpfs -o size=100% nodev $tmpdir > fi > > sudo mkdir -p $cgroup > sudo sh -c "echo $mem > $cgroup/memory.max" || echo setup > memory.max error > sudo sh -c "echo 1 > $cgroup/memory.oom.group" || echo setup > oom.group error > > Per run: > > # $workdir is under $tmpdir > sudo rm -rf $workdir > mkdir -p $workdir > cd $workdir > echo "Extracting linux tree" > XZ_OPT='-T0 -9 –memory=75%' tar xJf $linux_src || die "xz > extract failed" > > sudo sh -c "echo $BASHPID > $cgroup/cgroup.procs" > echo "Cleaning linux tree, setup defconfig" > cd $workdir/linux > make -j$NR_TASK clean > make defconfig > /dev/null > echo Kernel compile run $i > /usr/bin/time -a -o $log make --silent -j$NR_TASK || die "make failed" > > Thanks. >> root@ubuntu-server-2204:/home/yangge# sync >> root@ubuntu-server-2204:/home/yangge# echo 3 > /proc/sys/vm/drop_caches >> root@ubuntu-server-2204:/home/yangge# cd /sys/fs/cgroup/ >> root@ubuntu-server-2204:/sys/fs/cgroup/# mkdir kernel-build >> root@ubuntu-server-2204:/sys/fs/cgroup/# cd kernel-build >> root@ubuntu-server-2204:/sys/fs/cgroup/kernel-build# echo 470M > memory.max >> root@ubuntu-server-2204:/sys/fs/cgroup/kernel-build# echo $$ > cgroup.procs >> root@ubuntu-server-2204:/sys/fs/cgroup/kernel-build# cd /dev/shm/linux/ >> root@ubuntu-server-2204:/dev/shm/linux# make clean && make -j24 > > I am using make -j 32. > > Your step should work. > > Did you enable MGLRU in your .config file? Mine did. I attached my > config file here. > The above test didn't enable MGLRU. When MGLRU is enabled, I can reproduce OOM very soon. The cause of triggering OOM is being analyzed. >> >> Please help to see which step does not meet your requirements. > > How many cores does your server have? I assume your RAM should be > plenty on that server. > My server has 64 cores (128 hyperthreading) and 160G of RAM. > Chris