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 45714EE57DF for ; Mon, 11 Sep 2023 20:36:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AF65C6B02F9; Mon, 11 Sep 2023 16:36:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A80626B02FA; Mon, 11 Sep 2023 16:36:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9208F6B02FB; Mon, 11 Sep 2023 16:36:52 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 8034D6B02F9 for ; Mon, 11 Sep 2023 16:36:52 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 41C0940B5B for ; Mon, 11 Sep 2023 20:36:52 +0000 (UTC) X-FDA: 81225475464.22.6B842C6 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf23.hostedemail.com (Postfix) with ESMTP id 3188E140006 for ; Mon, 11 Sep 2023 20:36:49 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=n++o38YD; spf=pass (imf23.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694464610; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ImZ+EK4K4aS7V02kpaGkfCVcfN8/2o2VGbMW93sfWQ0=; b=fqpet0EnRa+KOyrwuka9liHcVHxaV0h00uETza528Reoj6ddA/59e4USxnUNf9iP47jXOE 1hP0K4G4EtTIPn8SgJfJw1Z/qxp2uCrfway2fP8Ew3+V0oQ1uvn4zP2/jopNSDwaRKqZ5A 5qilidV4olwyOSXdTj/VC0i4WlxtXNE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694464610; a=rsa-sha256; cv=none; b=e1dbOVGMF1DQL1W4Ch1t67K3sdjCpHdT4X1M+tQeQtgL4k8LKBH5jlkbgI3MdSpMGMU+A4 gSnc5jyq2E3NIuquBvjgviPlTIU0JFJ82L0TradXCrX4aRSWhuN3qEs5W/p7rZ/P7G3Vy/ iII5LdFQ6gtQWU+Gw/KkQ9QilxU5o4w= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=n++o38YD; spf=pass (imf23.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by sin.source.kernel.org (Postfix) with ESMTPS id A7627CE17A9; Mon, 11 Sep 2023 20:36:46 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 34974C433C7; Mon, 11 Sep 2023 20:36:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1694464604; bh=yVeFYLRhbU/RAZJ0Yo6GGmsolJbZL5KOh1ydQnNikFs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=n++o38YD9g0rkZTjGjoVS58Qce5RnDBBcRebGc0mzehPYzDGSOiYt3Ys8E7B6nEpV grKF4Nv+NwZT1fhq1p+sIcuCTnWuzv39djNo42NCbCw+rnoWEzsmGqWS1CFyZtsOQq XnCh4D5D7T4/iPOMCPScod5ytfDZ6NcGDKPVN2606C9QJ5fjEnFDiI3PRVGI87wu8B +6dyKlGlZt78voQotkICd2ZNBXBwMgBGzZW6w5Sx34ztgX/fd3nKGUVL9WtvSrj9Sq Y7Qiq9jBmy/Va3KfEBeO5v62EffRy94l8v8ZufAyDKODCVpg5bgwSenh8SaKeM5gSO aOK/e3snuyX+g== From: SeongJae Park To: Steven Rostedt Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/2] mm/damon/core: add a tracepoint for damos apply target regions Date: Mon, 11 Sep 2023 20:36:42 +0000 Message-Id: <20230911203642.1788-1-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230911163127.167dccc2@gandalf.local.home> References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: 9aqztd53xc3ftn7y8ymqqrcjmxi7s1yo X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 3188E140006 X-Rspam-User: X-HE-Tag: 1694464609-692545 X-HE-Meta: U2FsdGVkX18KVJH4M367Uvl73JFKvf0qEBbOHJgk0TTZuwJKPJolKgzOROmmWGZz/AFC8/IBTB2MZA3AkhdPjeYCBwXeTK+fv3Moi3OFQYGUQubxHO/W/jbRM0hbIYN4fT2sdYRrOlWSGyjcA5gcJFd1TvHoEf1ZZ0DU28g9wI5x8mMGMVdCRxyvMm5a1qvi0bwJPOrwj87Z9gb1/s9VWpVd8pw0UPuQtWP5t0hreklICkGP+0BajLhaM6SWj+SG1L03TcEyRR4oSIq2fnADYuHJM71Ruai797WdXDdxTjjJQjWh6op6qsg1QGWJq9vRQG1mwFnMWq2Xnofc51GOw0FWcwUveugBXn67JPjS6tf6t8xHEJmT6RZI0/EORnAyQ59v33SqZGUeFgq2R1vjn5QA0GCcWO/uoPDQAaVCmu33ZivxDYV8IGPownkZ5YA7VDKI8C9SSmL1SyZIfUvWlkbh7jl5uXlZqHo4dXM8VnG6ssFvEJ+7y8y2OqMm2DY6swlStzt0GXI6ye8TcXPKqlfHWanawv7UT+lpJKDl9vDaXwvAxv2KctX2f5Ze9M2hHsMjVXfY3IckYHhBW3Kdi6KYwuqQDca/FWEFRWp7VcAgBcWpTmbhCBkJfez7Jvus+bs0U4SlC+nD0eR53Sf5I6HKVe9cNnoPL2AHEZG8m/MYX0UG4ilyWw1+5UKjNS76pfCO6QHlyVho6k4WjKsqAKB4NAEvQLufZLpsrkT80iRghCkh/tcmPxoGPPtXHkoEAzG9H5SueBBdfAdq/nlA8ni8eVenNDbjXkJf7l6Bcx2QBtp8QGCYU+0gWliut8YOKp+s0y1SUirYNElMB047fUl84EmvrolEDkMOeh8hbBTRdzw8IU81rnl1RYqxnN3FMizIxr1PHWKiOtYE3qmSwn8esR8oFLdhBxbkrJimewzovt8Npesm7OyvLg28Rv7Xsym+IIG6gfPNmlW9N1x QkFXpC+R aiMT0pf1mQKXdLIApHjHUZDHOWTLkMff+YBeVCODtKGor4FMfZdoMscxK4YfyY8IZxlLrfdKbBU6M/Hm77M/5LXHhR9EXM2xWfOFjmOiBvzHZRulglgSqZKurbrqhRvUjs+12Di4PxW+9Xd7LPQToSquxzljVZ5DvECg1MTU3SjETwpxn4Bm5V5D5p5enfrryArn8X6kPSdyb8C17oz0oNKyR0L450QVAvbKrtLVyARH/yfnfitipSnXMlPbQUKPwuMjormLTPMUBI3lmWIREXNiC2YIn8zvlFmePAZyAZt2tUYkjj3oHaNkEI2PS/I9Smc2Y8IxXNiqm+2dRXKC6XJ54hAOScXRLJlJ9dlHZuZM5b0lGPUEoKCuXwnyXdgvTH+lR50sbyrVZf/4= 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 Mon, 11 Sep 2023 16:31:27 -0400 Steven Rostedt wrote: > On Mon, 11 Sep 2023 19:05:04 +0000 > SeongJae Park wrote: > > > > Also, this if statement is only done when the trace event is enabled, so > > > it's equivalent to: > > > > > > if (trace_damos_before_apply_enabled()) { > > > if (sdx >= 0) > > > trace_damos_before_apply(cidx, sidx, tidx, r, > > > damon_nr_regions(t)); > > > } > > > > Again, thank you very much for letting me know this awesome feature. However, > > sidx is supposed to be always >=0 here, since kdamond is running in single > > thread and hence no race is expected. If it exists, it's a bug. So, I > > wouldn't make this change. Appreciate again for letting me know this very > > useful feature, and please let me know if I'm missing something, though! > > The race isn't with your code, but the enabling of tracing. > > Let's say you enable tracing just ass it passed the first: > > if (trace_damos_before_apply_enabled()) { > > damon_for_each_scheme(siter, c) { > if (siter == s) > break; > sidx++; > } > damon_for_each_target(titer, c) { > if (titer == t) > break; > tidx++; > } > > Now, sidx and tidx is zero (when they were not computed, thus, they > shouldn't be zero. > > Then tracing is fully enabled here, and now we enter: > > if (trace_damos_before_apply_enabled()) { > trace_damos_before_apply(cidx, sidx, tidx, r, > damon_nr_regions(t)); > } > > Now the trace event is hit with sidx and tidx zero when they should not be. > This could confuse you when looking at the report. Thank you so much for enlightening me with this kind explanation, Steve! And this all make sense. I will follow your suggestion in the next spin. > > What I suggested was to initialize sidx to zero, Nit. Initialize to not zero but -1, right? > set it in the first trace_*_enabled() check, and ignore calling the > tracepoint if it's not >= 0. > > -- Steve > Thanks, SJ