Received: by 2002:ab2:3141:0:b0:1ed:23cc:44d1 with SMTP id i1csp89736lqg; Thu, 29 Feb 2024 21:42:49 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUbta7TDCPurDHxCxVNm9bgvia6mcoYg7t18Fv73tUoOEJlTl1jsY121ilrH4bkdVQpWD0nQqRcPDcx9V0M57uhhsPOMn3cJnIC5lY8kA== X-Google-Smtp-Source: AGHT+IGJNHavGBbyMNg7QuxSyiGagn2LLgAj75NjEd/4rgWK5CTpqH/igg0GQjuHIHD1FW7vxamk X-Received: by 2002:a05:6808:331a:b0:3c1:c3ce:e44 with SMTP id ca26-20020a056808331a00b003c1c3ce0e44mr875574oib.0.1709271768892; Thu, 29 Feb 2024 21:42:48 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709271768; cv=pass; d=google.com; s=arc-20160816; b=oz31d0i4r8ZvRL9+3Vcx2HesGN7TS1M3idG56GQaL8M31GI3AlW1UnopqwgQZBOuEE E8pYy6HYto62BNSYnJHPW/YdTeX/ZUwIxosjg6bE5rRU8gHD2LB+0dw4yz1bZ0cgdeUb rBbuImZmzTR8kwnZJQCj9/0h3upFi5aBL7EYcrWqGpYjGs5kk5A7bWRFg80k2Uyd3WDw EptfIgmSBvRZ+G55NNeVRp3MvKOFHirPsLi0P1Dyg/IDTQqCp3iBQvs9abocb9w/3tJN 4bJQBCIrhvqI4ck+FCQ44VgIajz8eor36ZUdpK+N5Hf3K3C7l6j5f7Vj5LoSohTtbGbH oafg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=to:cc:date:subject:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:content-transfer-encoding:from:message-id :dkim-signature; bh=qZXT0P42bHzo0PmK5eOZmbcv9JddLo3kkS/Aj42v6Ng=; fh=Ay+4YVndf9a1vdujoZkpoceKx6I/T6Y3EKN+9lkHdaY=; b=SnDMPhacWkYQXz0C+Ni2YYIp/FaYnyQ4qvgrtB5czfUVb2bYZAgJQ6NYgJh+9JMaWw kjR44wYufdrsewifY2/TbKDilUCbM017acp3F8dBE4lDET2OLhtZ+CX7EgLf7CVHUYPv r9X0K6F09IwTOdECm1i9zFBVUR8xGHxnPAmgHZWjefV+0nnauwJ/F4eFfQ9/bne72jOM GCgtEhQjxgv9d2daG/QBMJQM8vjDm0Svg5rpH8Qeu69tdQ/8tE0miykRjuocoJSKfGfd X4nbI6NHk+oj5lankBieW9R3itteYL3D8IjmYPE+55KHKTyaOjeS/LE4ImNGT0ZLddQL CuAg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@qq.com header.s=s201512 header.b="wDx/MYGV"; arc=pass (i=1 spf=pass spfdomain=qq.com dkim=pass dkdomain=qq.com dmarc=pass fromdomain=qq.com); spf=pass (google.com: domain of linux-kernel+bounces-87939-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-87939-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=qq.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id gx25-20020a056a001e1900b006e31b9b4601si2793854pfb.19.2024.02.29.21.42.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Feb 2024 21:42:48 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-87939-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@qq.com header.s=s201512 header.b="wDx/MYGV"; arc=pass (i=1 spf=pass spfdomain=qq.com dkim=pass dkdomain=qq.com dmarc=pass fromdomain=qq.com); spf=pass (google.com: domain of linux-kernel+bounces-87939-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-87939-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=qq.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 8D95428231C for ; Fri, 1 Mar 2024 05:42:48 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3045351033; Fri, 1 Mar 2024 05:42:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b="wDx/MYGV" Received: from out203-205-221-164.mail.qq.com (out203-205-221-164.mail.qq.com [203.205.221.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C2D4F524A5; Fri, 1 Mar 2024 05:42:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=203.205.221.164 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709271762; cv=none; b=Ya4XPfVSL8w+nt/7dvQ+H/vQIpZzbdxyYmVst2qd1yrRg1r1a7GUrkUaCnAnEQ/w+TyQD0NNwY10BVxjUhQCS5jqbM/yX8zGWV/uId9qIbzPqlr3hjZJfpc4vr7FOncqEB0GDOXRa4Q5lndDnSxhUsEhz3ti1rMyUnWy6yAIva0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709271762; c=relaxed/simple; bh=V55SRGUOrAG+ysoALTc6f/0/cboBmLuqRrBCtb77ei8=; h=Message-ID:From:Content-Type:Mime-Version:Subject:Date:Cc:To; b=a+zOVSxbotqo9KM2qJHUSj5W1Dshhe5AKUxXWhKxiQjf290uHGxbgubXGi3usIF39oj14uxfT4Rj0gP0f6DS683MSuDcgxPWEkUspRyzM62ErouQh8E41m0dqY4bW6vqfeQLoeHcaf2t5y6BTNkGKNk/Mvbpn+L1lSmGG7a6elc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=qq.com; spf=pass smtp.mailfrom=qq.com; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b=wDx/MYGV; arc=none smtp.client-ip=203.205.221.164 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=qq.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=qq.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1709271450; bh=qZXT0P42bHzo0PmK5eOZmbcv9JddLo3kkS/Aj42v6Ng=; h=From:Subject:Date:Cc:To; b=wDx/MYGVIjo9Ut9LpNZ2csvlbctH9MgMPKQKjq62XhIT2d75AxJj0dPX3Spt2D6nO 7S3utlEv3rl0zWIWvwkjHsMQ6XuGIn4AQvVcqHM4/4TndwmER3FqN+96cFCXWU1ep/ sr5cys98vcXpi7b3mAMya6DRq2wsRHfmz8Uu9Lpc= Received: from smtpclient.apple ([218.94.142.74]) by newxmesmtplogicsvrsza1-0.qq.com (NewEsmtp) with SMTP id 95C29000; Fri, 01 Mar 2024 13:37:28 +0800 X-QQ-mid: xmsmtpt1709271448t77ai8bwg Message-ID: X-QQ-XMAILINFO: NwOS7QznqjGThWe5KOAADO7w6ppx5kSvb5GFYiKExrv+90H4CdxCHzO14Nezmu fEdXL9Vp+ba8vkHos46h1O84dpTmzydLPyCC5K/8GuX6ke6h3ZVY52aNnkz7uoltBsJF58Xxjh3t p4i9wGNASn7i4lrVx5vaW3bq90K0KSKzjE5pgjihZWvBvnaJkEhbMZK7C4dqo/NA8o9K6f0EzLeI UnOC8P5YpHOXXIS4nillSU/TQVmFPaIWYmV3IaQsXYOT1/7AhiQQC+/6P2vyBAtPVcEVCf6p6ftH fy2RnNO26ZMONSiK3aICSr0JzL5J9dxYW+K2o+kMAA0vWueCenyxB1KJppzk6pnE8tRv+oLq1Kc6 YzaFGUf/DY+vi5gnvSyRKmT1D5X8m/GVLqysdnoKCoBRVzXF/K0nnmC9PLihK9CFIi7ggxH7qQHA 8JhZnTJV6GUP3kpp4Hd3UJ18BVaRq8in1Z3Je8BxMsnVSJ5XeP/WhMhQ0dbRA8rLkV7coHlNEvCM hVj8TBshdzO3vJKfsycgOONRaPKLjzBb3vc4v3sIYUOR0unOg9lnI+tJU1kN+Sc6yjfCaX+iTd3M xTOuV6/2VsFbA0MRH/l8KoZJpAsfwmbSIBQ+0ZX+CatYrbXYdNgVAKqCb28QRZsZ8H7iS9e3Npg4 YfycQtCiZ4fJTsdaR1C9CSNPigJ1BY++qG84630E45udQ2i++n0VSIIDUHdO4zAG7gumCCUUZCc7 kdugCsu5uG4SGPVjuQ9WsCHf3BfOUb66FydeglzW+wtNVfRYmXpaGBPU7rznhluVzplp5IoST8ar gT10K4bTmf+oD6TmKHWaw4XSZxKuz0TWQLAE3bocINKe8jn0zGrSdmdNo1e2FEOLWV2Kb2xY9HSY ASR3yNGwTwMHSwFDet1AHGH0X+Q/iPFCP1SEqaMn7pOkhPC5UTROnFmykQ1qpf/Z0qeZny73uv8z S1OVDVQ4tYhZ+YBV/reKbqP0bFkBtspFrglSi6a7bMhNossz6lqfMyBwmVSQ2F6CJqgJndtz+lxs vYcFCZ4w== X-QQ-XMRINFO: OD9hHCdaPRBwq3WW+NvGbIU= From: linke Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.100.2.1.4\)) Subject: Re: [PATCH] ring-buffer: use READ_ONCE() to read cpu_buffer->commit_page in concurrent environment X-OQ-MSGID: <53443CFB-3969-40B4-91B6-35DEBDD0559E@qq.com> Date: Fri, 1 Mar 2024 13:37:18 +0800 Cc: lilinke99@qq.com, linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, mathieu.desnoyers@efficios.com, mhiramat@kernel.org To: rostedt@goodmis.org X-Mailer: Apple Mail (2.3774.100.2.1.4) > So basically you are worried about read-tearing? > > That wasn't mentioned in the change log. Yes. Sorry for making this confused, I am not very familiar with this and still learning. > Funny part is, if the above timestamp read did a tear, then this would > definitely not match, and would return the correct value. That is, the > buffer is not empty because the only way for this to get corrupted is if > something is in the process of writing to it. I agree with you here. commit = rb_page_commit(commit_page); But if commit_page above is the result of a torn read, the commit field read by rb_page_commit() may not represent a valid value. In this case, READ_ONCE() is only needed for the commit_page.