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 9D91AC77B61 for ; Thu, 13 Apr 2023 21:48:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1397D900002; Thu, 13 Apr 2023 17:48:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0C2A16B0075; Thu, 13 Apr 2023 17:48:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ECC4A900002; Thu, 13 Apr 2023 17:48:36 -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 D9BFA6B0072 for ; Thu, 13 Apr 2023 17:48:36 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id AB3A51C5C1E for ; Thu, 13 Apr 2023 21:48:36 +0000 (UTC) X-FDA: 80677707432.22.48898C4 Received: from mail-il1-f182.google.com (mail-il1-f182.google.com [209.85.166.182]) by imf11.hostedemail.com (Postfix) with ESMTP id F080840016 for ; Thu, 13 Apr 2023 21:48:34 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=68rX+T6h; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf11.hostedemail.com: domain of yuzhao@google.com designates 209.85.166.182 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681422515; 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=RD2fRmal2NjTDY5yJT0tGTgYK55XlqNgudqG7PmgPvQ=; b=LGT2MmBK2Zef54ksz/4NlRcnK8rEC3grSruuyAzGW7ULcGQbB8gQlPI1pIwAT9g8+Xm1+5 yJrmnx7hWtALhMbuGudFz8SCcE3eNc+Il02fLrT90BBGolcI9zoviSg/VkjUKv4PB24A9e bV0aTYEAUE4KUTcSn9Y/TOpqMjAPe5Q= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=68rX+T6h; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf11.hostedemail.com: domain of yuzhao@google.com designates 209.85.166.182 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681422515; a=rsa-sha256; cv=none; b=7s19KOjs5QIttlamRvKdpoFiIuQ9Z1rbYAoKBU4zsr/6YFDik3U0ZI1k387+pXCZuWyH7d 5tKYcOP/ztx/9ZQsFpcfinF3QlIuL8dak92VQEtDOkz9Tq0AIPwNZCPOAfCxlaQoT1ouBf SIdT1PNtXeHIIB/ufKc8sQujho0uo80= Received: by mail-il1-f182.google.com with SMTP id e9e14a558f8ab-329577952c5so214075ab.1 for ; Thu, 13 Apr 2023 14:48:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1681422514; x=1684014514; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=RD2fRmal2NjTDY5yJT0tGTgYK55XlqNgudqG7PmgPvQ=; b=68rX+T6hv2ZKS7obJi2VtlEac6GKlnjH2mU+yC37pc2f6wVbIBjopiIenRNC0cpine 7TuIEaG7xNwXxKDXpSCWXY3A+s5Pq2bxLJIq8gWm5QJs6lycBwKbzs6ekrJfbrn0ZS6U l4ikf/6tDgKeG0ObJvVl9s6r7QwmkB7cbys9xTxbwiGUlPo9Dn3+rwrkyRk86MgL01jw cvGQsOG5bJv9nPUdfB5AWTE+r6WelTfK5F2fB97yzvXWAl+gz28f5MZRnrYzrk9O1QrT +K0n8u0Pra+IkR8kzES273HAtjkGKJtsYaQrcpqPtcZJLAsTuXeGsYh5ou7eZ81Yi+me QL1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681422514; x=1684014514; h=content-transfer-encoding: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=RD2fRmal2NjTDY5yJT0tGTgYK55XlqNgudqG7PmgPvQ=; b=GwYP1PgNvuqXV5wAVBpMmTEpZwjc1k5qNhtyPoBgdrRZve2XGxkM7vkvBmlm49/kUe FjB27sCthyVE+n9s6lXTOi9GSoB+TkN1qzcLsybnAL9GfxPj/QYjgihLU6kg0EkcKHuZ fFiPKDYVzRlDVx6HZ1GlEGgIA12sfCW6CJ/UFoxrIIo/lopLLOJvyBTIvglkF/KHATW0 ED9iuXIw0Abw+u2Ukbq5BsmUQRZwC7YWUHmVNYMIUaZ09ehNa2c7C+nXZKN61mGtQrTu eeNxUj0gHpKY4MgDLpJuKplNMER09+x3FB82rg+sIvCEA/Jd6/FkxPiHn26Hkw1s0mKe lliQ== X-Gm-Message-State: AAQBX9frmte9JSuKpyyZMXP1KNe05jmereJEQ0OHijqs8MbOYPMj5FTj Zqn3cRjifqaf5KYREJ4WOgPO1UKOfrecukLNHil03w== X-Google-Smtp-Source: AKy350ZfPDkuvUkUubYdknjmNsu52dhASA7KBEjK6x0SS9igH4uQICMYy/StRSyrmNOjXHGurvUlPU1dbZo3Td2Dj5E= X-Received: by 2002:a05:6e02:1b86:b0:328:a484:3409 with SMTP id h6-20020a056e021b8600b00328a4843409mr28891ili.7.1681422512776; Thu, 13 Apr 2023 14:48:32 -0700 (PDT) MIME-Version: 1.0 References: <20230413214326.2147568-1-kaleshsingh@google.com> In-Reply-To: <20230413214326.2147568-1-kaleshsingh@google.com> From: Yu Zhao Date: Thu, 13 Apr 2023 15:47:56 -0600 Message-ID: Subject: Re: [PATCH] mm: Multi-gen LRU: remove wait_event_killable() To: Kalesh Singh , akpm@linux-foundation.org Cc: minchan@google.com, surenb@google.com, wvw@google.com, android-mm@google.com, kernel-team@android.com, Minchan Kim , Oleksandr Natalenko , "Jan Alexander Steffens (heftig)" , Suleiman Souhlal , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: F080840016 X-Stat-Signature: fou9st3bz4g6t3pfdysgrfqay1oe544k X-HE-Tag: 1681422514-211578 X-HE-Meta: U2FsdGVkX18TQnfbj6JaA7zz/brbCDKjLJ1uF9a3PJeSzdF82TUU2rMAA+Nl0a9o+0fKN5MBxdlkgGSJB95VgAETNkaPohK/ek2zn8veh/fhI41s1GpaT/iNhTd+LZHAllzZaWR5Pi9SAO69EbYE4C81Ye6Eaz+t1meggddTctRd3NuMVM4HCKURemyGrEHVftJESFI2HuZ9LxtVTT7w1uuR6Y5PdaLn5ac2eJcVqovbtTId8boO3oY1cfLMEuRZBedF8rJDAL8PjZ9aE3w5mkEhEhA5s18+OX1geXvV/xQZY+gM7EoYBUL9LZUAJd3mGyNBVFiaco9NCWsul1C455MEwF3122UA6Rl6j2USEN5e+5viUwXKsTAx32xa4MP7qnhUaHTUw5lMXO3laMMpIWyctyVKZnobknwrp84dQsWm/HzD8W20Y7pntiEsSy6OyTd8F+x50bq235Ahad3Mqbvftg9wcTVfcS2zEmn0d9YqOQ99NK7Nuy+0lh/u2PR5pL5gxSSq2/cta0cWzShJcNxuiNeQDjFomBBF5m+7rrJxisQPgdVKcBN9LPmRnqoUw+RA5yKJ+VffrZhD9Bp3SMFH14l0XnU1DE55zY62onApW5Fo+A0SLKQ96gGhrdFYWa9z+esOr+ubSPlZC7E5hMz5ljMvA8HWMYzPLWQ1hGNb0dD6bal/1f+mpWJF2QmtvEU6JvRb4HBKxYhUar0X69Ffm7jQ2WdhenG8314uGTE9FHXTXXY31660/TxNJ5Uy6Yt70x7J1pXDd5nJWZRvT3Sxu+3EXJ8PO+EI8D7quh2JWS4jYpjFc1KtHXufNMmvyZIGVEq0DAsLWWsmmolKqCcA1mGF5I9XgzZAQ6bJvfLgkJdkq6YuLewweoacjG/0C1mbQP45oFFMDtygtB489tv6+lce32O4UDOJtap+ryx5zuiLEOuGTvH1L6urx2KPrCRIADPLmmt98x/mS46 Yzcy87FD hFVuPtffGdetotBvMj0D0OY/QHa+kEwCpOL+mKoP6Fy3CpneDfr4tVCPX0cMcF/Eq8mH8tdTAXd58uAOfNpXqqpNrpiis7qn7ByA10KWxbwhFrY9hFYscgWlOzEbYTSUM0c1dAuoPcKIRZeDzvSv9YhIOFhr0tX3b4L5H1SHyE0PsFQ1JmFe14yULUnhjhPev63yWgyz2nFppZPYsBoiRW5zNnbzuCHvOu6rpMBcL5hyWtfAsCcaxym9A9IDSqgEkAVQqWO1O1tCvgM3kW5t+PY+lBBMCnNwZ6pseJCgpxag86LFFAqKq32Xcrlng7alt3vENoW27Xap+cGy9tGINi3mj8y34/ZsxBCaN8O16pcr/69LPgihQg7C9X5Vo28m/IIq3kZ9g5oAGsBPBvW+1R7KhI5ljSkjMBQ7xuBce7ZTlos2CRNa5edv4pw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.005938, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Apr 13, 2023 at 3:43=E2=80=AFPM Kalesh Singh wrote: > > Android 14 and later default to MGLRU [1] and field telemetry showed > occasional long tail latency (>100ms) in the reclaim path. > > Tracing revealed priority inversion in the reclaim path. In > try_to_inc_max_seq(), when high priority tasks were blocked on > wait_event_killable(), the preemption of the low priority task to call > wake_up_all() caused those high priority tasks to wait longer than > necessary. In general, this problem is not different from others of > its kind, e.g., one caused by mutex_lock(). However, it is specific to > MGLRU because it introduced the new wait queue lruvec->mm_state.wait. > > The purpose of this new wait queue is to avoid the thundering herd > problem. If many direct reclaimers rush into try_to_inc_max_seq(), > only one can succeed, i.e., the one to wake up the rest, and the rest > who failed might cause premature OOM kills if they do not wait. So far > there is no evidence supporting this scenario, based on how often the > wait has been hit. And this begs the question how useful the wait > queue is in practice. > > Based on Minchan's recommendation, which is in line with his commit > 6d4675e60135 ("mm: don't be stuck to rmap lock on reclaim path") and > the rest of the MGLRU code which also uses trylock when possible, > remove the wait queue. > > [1] https://android-review.googlesource.com/q/I7ed7fbfd6ef9ce100533475281= 25dd98c39e50bf > > Fixes: bd74fdaea146 ("mm: multi-gen LRU: support page table walks") > Cc: Yu Zhao > Cc: Minchan Kim > Reported-by: Wei Wang > Suggested-by: Minchan Kim > Signed-off-by: Kalesh Singh Acked-by: Yu Zhao