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 61BB3EB64D8 for ; Thu, 22 Jun 2023 14:28:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C71038D0002; Thu, 22 Jun 2023 10:28:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C214E8D0001; Thu, 22 Jun 2023 10:28:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AE9D78D0002; Thu, 22 Jun 2023 10:28:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 957F68D0001 for ; Thu, 22 Jun 2023 10:28:54 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 01536B0575 for ; Thu, 22 Jun 2023 14:28:53 +0000 (UTC) X-FDA: 80930615388.29.A5820AB Received: from www262.sakura.ne.jp (www262.sakura.ne.jp [202.181.97.72]) by imf04.hostedemail.com (Postfix) with ESMTP id 7CCD840014 for ; Thu, 22 Jun 2023 14:28:49 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=none; dmarc=none; spf=none (imf04.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 ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687444131; 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=r6D6/NGi7SK3+MCcrS6VRrnu6qanoQFAwzOJindgF3g=; b=GJOrobZs39qMpxhp6Z4wZq9wVPJ2YkrVo5hEsWHRiqq2NwpAqV6vtCMxPRJZKk/rRBr5vJ aogSV9Cua+xNqZTDPunxkypX/sJ/xY4oN9IvPVtb8nMMuZo0euqDCUEcXMlXXOWuF60rND lY5MzRBJuBIsNvppDSUuvAQY2ZhdxpU= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=none; dmarc=none; spf=none (imf04.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 ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687444131; a=rsa-sha256; cv=none; b=VjXPUihrzOJWgMZvh7D6K87ipr6zPejSC/mk9R7uAbir5O1SxqB7ONgzA1JorpCeqRCbj9 RPh5m6+PuQV0DlRMhaV0t1572SZ5kyXkDuwSTzAOxxImHyyp5gICoJaagk18uhmjGhsZgf eJsX40PB76dsvqS/e+xDsHwVLnRWgVk= Received: from fsav412.sakura.ne.jp (fsav412.sakura.ne.jp [133.242.250.111]) by www262.sakura.ne.jp (8.15.2/8.15.2) with ESMTP id 35MESP0P000774; Thu, 22 Jun 2023 23:28:25 +0900 (JST) (envelope-from penguin-kernel@I-love.SAKURA.ne.jp) Received: from www262.sakura.ne.jp (202.181.97.72) by fsav412.sakura.ne.jp (F-Secure/fsigk_smtp/550/fsav412.sakura.ne.jp); Thu, 22 Jun 2023 23:28:25 +0900 (JST) X-Virus-Status: clean(F-Secure/fsigk_smtp/550/fsav412.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 35MESPbq000769 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NO); Thu, 22 Jun 2023 23:28:25 +0900 (JST) (envelope-from penguin-kernel@I-love.SAKURA.ne.jp) Message-ID: Date: Thu, 22 Jun 2023 23:28:25 +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: Petr Mladek Cc: Sebastian Andrzej Siewior , linux-mm@kvack.org, "Luis Claudio R. Goncalves" , Andrew Morton , Mel Gorman , Michal Hocko , Thomas Gleixner References: <20230621104034.HT6QnNkQ@linutronix.de> <0e9fc992-8e05-2e63-b3b1-d8d3ce89fc16@I-love.SAKURA.ne.jp> <20230621130641.-5iueY1I@linutronix.de> <20230621143421.BgHjJklo@linutronix.de> <01031ffe-c81f-9cec-76fb-e70d548429cf@I-love.SAKURA.ne.jp> <8b6d3f39-c573-ca2b-957b-8c48c2fa68ad@I-love.SAKURA.ne.jp> From: Tetsuo Handa In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 7CCD840014 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: 63edf911fx6iofgko18y8p66smbgtee1 X-HE-Tag: 1687444129-582428 X-HE-Meta: U2FsdGVkX1+KtzZyZ2d/51Le54wn6yUwRqS7/XozLsIgxHz2S4yCLCAdHtm+MTmFBsQb+uKa9WnaR8+EzyBGlYBZkhZ5pLD8grkoWrV+QqgBPoaC5GXFzKv4YycqoiIhzjBhaI3PYSkpldpbXSSfXAv0wnsDW9jmGg5amltqbxabYtX5GcBPWNSg9TYJJgPhAYDuQcdGfGZqRhi4XKD+LzNEKyWCCL/CwGmKW8/8Juwd71+5cubflW+NxGawQa7fE0YD7buauCTBs18j0ICzcQHltp5ULKroeEr3Z54uj/tpJ6EsCUWoD4UdnS9loXfV2q3nzEisyKgX22IIUN28dw9mndRwhBoq8JQYe8sZdAgKihIVv1nOu8pU5vTuZrzzKw/X8A//g0eklE8QFu+ED8YymYRTWfHCMcpcrIgVyQ/I8zD/XoZ9ru+NDxfLMGPW6wzKgazZeeJwkpou4ljW731kfgmoYjcwg6AxgrXDmCFiqtEkobV+n4+XFZU/2WD42GizCL8WCZjwwjxfbu0kOUf6cG+wh5iq1vCXhJD3hvgEF36FD4+MlluIaRBWpVhKtbvlvqBwFL/SWSeu01PhuHN90FSW+zvjOPblINAqmWseAUYiq8adWiJaRMrGd2hVExL7wG1xSCOsXiA/4mO7yJ4jU8yO0RD/X39+uWD6ORblYzoOEMAPiMqBwt5hf3rcXKJdLJUiK01bhryLkXqgmAS5AOHMlf7y2QYnnH/PtD+koCRMqvLu2QHq6TEQe1ixxt4Ru64jcMRyNfGsjQ627fBCp0rDHAj7Ui7GnPtl4Bj7V+3I6mMhsxUqcbOsxNykiYrDGvsMLOxhIvp3M/VXmkkhhQE7cQQr8JDvPVu9p3nTH311JJuHEOQEBE4cT7msA2RECF0LIG1cBGN9HWwh/xAoV7mzXN6SspSOJj6zuEBizPP2p7CgO1lj0nY1urbRs/f/o/rEhuUjt+liWxF jWYD9Svy pkT9kUbHadNKisxMDBVRMWChfM5+h08Yw4AvIAq7eupEchJpnEp4uo2S/Or5dZs/qlA/iaqnVMpp/NP0mNvlPgBmE1dWBzwPQ14Uz+CK3CLPc4dTwjtazv1pPYeu+OrODOHItWfZK4i2AzyBUQsS12hYaKjCJdamuJh4XEch6ZwmSa3Wt+FXWJK7/blH5WLNVqOSe4p+qTZ4nhb2QuDdJW9TF2o2VX5iBvOpIe+qrnUIL1KUioIN+ets/fmC+b7WtUuhk 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/22 23:11, Petr Mladek wrote: >> Question to Peter: >> Even if local_irq_save(flags) disables IRQ, NMI context can enqueue message via printk(). >> When does the message enqueued from NMI context gets printed? > > They are flushed to the console either by irq_work or by another > printk(). The irq_work could not be proceed when IRQs are disabled. Is that rule same for both COMFIG_PREEMPT_RT=y and COMFIG_PREEMPT_RT=n ? If yes, when Sebastian's patch is applied, IRQs will not be disabled for COMFIG_PREEMPT_RT=y kernels because write_seqlock_irqsave() is equivalent with write_seqlock() because spin_lock_irqsave(lock, flags) is equivalent with spin_lock(lock), and > But another non-deferred printk() would try to flush them immediately. > >> If there is a possibility >> that the message enqueued from NMI context gets printed between >> "write_seqlock_irqsave(&zonelist_update_seq, flags) and printk_deferred_enter()" or >> "printk_deferred_exit() and write_sequnlock_irqrestore(&zonelist_update_seq, flags)" ? >> If yes, we can't increment zonelist_update_seq.seqcount before printk_deferred_enter()... > > It might happen when a printk() is called in these holes. printk() can happen between these holes for COMFIG_PREEMPT_RT=y kernels. We will need to call printk_deferred_enter() before incrementing zonelist_update_seq.seqcount in order to close these holes.