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 4BB0FC001B1 for ; Fri, 23 Jun 2023 10:37:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 860D98D0002; Fri, 23 Jun 2023 06:37:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 810D88D0001; Fri, 23 Jun 2023 06:37:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 700AC8D0002; Fri, 23 Jun 2023 06:37:20 -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 602648D0001 for ; Fri, 23 Jun 2023 06:37:20 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 269F71A0EAB for ; Fri, 23 Jun 2023 10:37:20 +0000 (UTC) X-FDA: 80933660640.25.57B5196 Received: from www262.sakura.ne.jp (www262.sakura.ne.jp [202.181.97.72]) by imf11.hostedemail.com (Postfix) with ESMTP id 6469E4000B for ; Fri, 23 Jun 2023 10:37:17 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=none; spf=none (imf11.hostedemail.com: domain of penguin-kernel@I-love.SAKURA.ne.jp has no SPF policy when checking 202.181.97.72) smtp.mailfrom=penguin-kernel@I-love.SAKURA.ne.jp; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687516638; 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; bh=OV6ZXt4PPwX1DB+5Fhq9AXcubs3mu1gmKjGGBjf91uk=; b=wxp5YatV+CXurK2DP21Jt/Q2AHwNUfi+wiOWF18AAFzJtAMQ8Ao7QYT7VdT1kMrsyOTCyX y6SRdUYHHFuUaF3mNkeauGdte6QJuRIODQe/M0GxV4zNJxNCtZ0GkE5kiF6Mr3PjvJHM40 o+6grL9fY/PMIMl7E4jm7WzWWrgGgc8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687516638; a=rsa-sha256; cv=none; b=KSrw9nNFjOV1sXDnB9ZOn41c2OsOun4Ygkr/JWztMecfuZkZm0/hh00JT7eLCLxE66V9Ni QYpKL+oc5a54rtyneao1EY182YtqGQpxpCuqdBMzhmZQl7WnqCc3xtLawA2XdiXD0Ra41z fdpEDbzaN7OXMlqAHTkDh4XN2Dl8hD4= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=none; spf=none (imf11.hostedemail.com: domain of penguin-kernel@I-love.SAKURA.ne.jp has no SPF policy when checking 202.181.97.72) smtp.mailfrom=penguin-kernel@I-love.SAKURA.ne.jp; dmarc=none Received: from fsav112.sakura.ne.jp (fsav112.sakura.ne.jp [27.133.134.239]) by www262.sakura.ne.jp (8.15.2/8.15.2) with ESMTP id 35NAascI052613; Fri, 23 Jun 2023 19:36:54 +0900 (JST) (envelope-from penguin-kernel@I-love.SAKURA.ne.jp) Received: from www262.sakura.ne.jp (202.181.97.72) by fsav112.sakura.ne.jp (F-Secure/fsigk_smtp/550/fsav112.sakura.ne.jp); Fri, 23 Jun 2023 19:36:54 +0900 (JST) X-Virus-Status: clean(F-Secure/fsigk_smtp/550/fsav112.sakura.ne.jp) Received: from [192.168.1.6] (M106072142033.v4.enabler.ne.jp [106.72.142.33]) (authenticated bits=0) by www262.sakura.ne.jp (8.15.2/8.15.2) with ESMTPSA id 35NAasf4052608 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NO); Fri, 23 Jun 2023 19:36:54 +0900 (JST) (envelope-from penguin-kernel@I-love.SAKURA.ne.jp) Message-ID: <115cf90c-5bc5-d4b0-6489-d1ee5735194a@I-love.SAKURA.ne.jp> Date: Fri, 23 Jun 2023 19:36:55 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: [PATCH] mm/page_alloc: Use write_seqlock_irqsave() instead write_seqlock() + local_irq_save(). Content-Language: en-US To: Sebastian Andrzej Siewior Cc: Petr Mladek , linux-mm@kvack.org, "Luis Claudio R. Goncalves" , Andrew Morton , Mel Gorman , Michal Hocko , Thomas Gleixner References: <20230621143421.BgHjJklo@linutronix.de> <01031ffe-c81f-9cec-76fb-e70d548429cf@I-love.SAKURA.ne.jp> <8b6d3f39-c573-ca2b-957b-8c48c2fa68ad@I-love.SAKURA.ne.jp> <20230623094544.RcLNdg6H@linutronix.de> <20230623101111.7tuAg5p5@linutronix.de> From: Tetsuo Handa In-Reply-To: <20230623101111.7tuAg5p5@linutronix.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Stat-Signature: kfbe71zdiwytszn994g57zna8dhyczeu X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 6469E4000B X-Rspam-User: X-HE-Tag: 1687516637-760364 X-HE-Meta: U2FsdGVkX1+Vvk3MlSM2NszerCjya0O2enTHaX6z4OmsojJGe4ymo3nl0gjyywsI+M8mTHnY9iDvQYKL6m01gVGV1SfuiQYgE+mSs6/cMOl39v4yDhSPbnpn5tGqvnqioCHwQaiyhAuf/v0jP+psAWw0OB03p3YG3AUpQ+HplcciD+G37BjmFpOc4QzQelUG+K7FR0RJDH+s0OysK8kd6Jne2j3CNdDOKxyvTdMjvhwakQwyktbdxUfOfHV8aVcM4iv8bYhHOCNb6/lVKzL4CwCJ12WJvfcUCt2lLJSIm4MvLvaR616LRP4Bx7ItC2tr+sH3E0RbaKNtKesDKqWb1p/L9AjzlMxwPkAzEFYUgnJMut9M4NQ6fdXHNkKK8jzgS4C1wkfJdEtuB9BZeZ2ev6fBs+SwCzzelau8MiHV+c2o61GXwiEDhKu1lPBr8bSxZN7IpI04JoMmI++iRnBnxYDCYGIbvnf7lJkGquZSVvAwHfzrlEkAYzmjlw2SH5F2l4J+aqorRXdxQI9xAvDbczC10XOhrWYcGS8Zk3JuI3/BGuYREr5fitYlfo6GwzGV6YpDQdNLeI+S9njUK85myqvP2nIk4P9tFX+VmB+kaT7llujSNv8+z6YaZFr3PPI3IoEPdwu56Yzgqn7AvC23cKZUN4fJNRxrpvlK+8E/5dSsmCFTooaQqPGt9+Wa0Lcy7h85B1/G/Vq5N38ZQpuN104skY+xjtpx2lBEb08ywXmzh+NIN++PA2CSBM0isN4uESGzucfn6nNiFH4ddZXESeW50QGGfagvB0YWLzvMAX7escW3nQgbBRVCOtlKWErWHzTfot8a/u/1tJbRNjTszIgzaNzp1mPFyCCyKoK2t2xyjIgECC1Z4LD/aDjeeOgkqFyLZd3k/Y4c9jcMIR/5Wu5+vT6CWYrSZ0NCkD9kkdWUlPM0nXpwo8xASsms7nfTW0i7Ju5giNM4F2FhdRs 2CdeGoLO dtfOOnjC/5oA3tfS5kFqVpeYlhQbM9hDfIHoyINisEOEXszilAG/gemXzJFrLuSEVB8Yo+U7+uGJIe8ckbpA8CeCqe9CkEBZoRZx8Zez2kM0Gr8Ckv6/yZJJ4L+Y1BN0e+uyVseExtmEkold1zTj2SJNbMkeOpRpkOn/8tGT2RiPcVrVzLkSMUft1DaKPaMgsOvHKoxSsBHQG7Zh1CKNw3U0HsNBwynJWZNwE4i2C0oyUut6Q+hcmV2dobmJ4E1tqYMDlRsnAB/48uW0= 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 2023/06/23 19:11, Sebastian Andrzej Siewior wrote: > | unsigned __seqprop_spinlock_sequence(const seqcount_spinlock_t *s) > | { > | unsigned seq = READ_ONCE(s->seqcount.sequence); > | > | if (unlikely(seq & 1)) { > | spin_lock(s->lock); > | spin_unlock(s->lock); > | seq = READ_ONCE(s->seqcount.sequence); > | } > | return seq; > | } OK. I understood that read_seqbegin() implies spin_lock()/spin_unlock() if RT. What a deep macro. Thank you for explanation. Well, /* * Zonelists may change due to hotplug during allocation. Detect when zonelists * have been rebuilt so allocation retries. Reader side does not lock and * retries the allocation if zonelist changes. Writer side is protected by the * embedded spin_lock. */ is not accurate. Something like below? If !RT, reader side does not lock and retries the allocation if zonelist changes. If RT, reader side grabs and releases the embedded spin_lock in order to wait for zonelist change operations to complete. Hmm, I feel worried that kmalloc(GFP_ATOMIC) from hard IRQ context might sleep if RT...