Received: by 2002:a05:6a10:8a4d:0:0:0:0 with SMTP id dn13csp1037899pxb; Fri, 13 Aug 2021 11:58:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwSeD0h0OC3xQubxTsMP3d86E5XxgfZo19tQlntiIEw05k+hO/EiBAFv4moH2DQMaIUS4oI X-Received: by 2002:a17:906:6d85:: with SMTP id h5mr3874792ejt.305.1628881120619; Fri, 13 Aug 2021 11:58:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628881120; cv=none; d=google.com; s=arc-20160816; b=uyMnk/XzRBVlwUBqd+jbXJsYfEwjuh06Ac6eeENtjvjEBrk5FJTiPGPB3VQ5z/EulX Tz1P+s/2fhhgF7TPeOJvnS/fT2gtgfJTq8R6W8tqvXcNscoY8bS7Pu5SyVTPsVNZMS/i WrtFlvBv/ry4L7/11UdVAXf2UC3MsGGTKK+IPg6JS4AnrMYWlbI1yYINHXF09sQG0iBe cBInKSwyJBUOH+ST+NJ+/fl9Z/CdFllixAU+396aVG3ZYMi65Wr7267uCu/VmNPAy2Md G+IgvW37ZG5FeNseAGN7yskhPZAH/4ogiZeBeNUVsnAyHDLq1SUg9VJwiGLMz3mrUMm0 Ua7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=GIVk7lT2Bi50cpFHM3Grw7DyAbksPO/2FH2wPlsCJUw=; b=jl/Cc+95vdKqkRbdJq4rgH04KxcL3AVVgu+mUXAeq1vxRjO6oWZUIaHm0o6wMZSuWI FY+Fmdwqeu+eJi+gaX4KAOKi2KLjFu5UCpquGJbfG/K1ELfBqj4YVBziThq54gzsQaM0 aonkKCgiju+nouqXbXke9ATnw2rF1rgO4mwTs916UzhKeMLbZ9plbXaFAW2j/ohzsi60 M4585sja+IC1uxsboirYiUkPnP/l9F//vkyVxWXOdLui49FjN8JbJBBII7+RZCvGyLVN DUREVpIggdf75vD9NUJCl1rEjjk74gv6qM3Exa5CqzuuneU/PJMYTJEu1PFcC06hfZqu N3JA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=XbgdhBpC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dz18si2272265edb.465.2021.08.13.11.58.17; Fri, 13 Aug 2021 11:58:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=XbgdhBpC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233599AbhHMS4h (ORCPT + 99 others); Fri, 13 Aug 2021 14:56:37 -0400 Received: from mail.kernel.org ([198.145.29.99]:59958 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233569AbhHMS4e (ORCPT ); Fri, 13 Aug 2021 14:56:34 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 7214D6024A; Fri, 13 Aug 2021 18:56:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1628880967; bh=3uaHgmEvZhNDKI0rrRHd0Jlbqr0chISUgb3mTBGDw1o=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=XbgdhBpClZ7Hi6JQOA6pxuTrCl62aWCa4E3l1zxlnqsyM4lbCXFQJZpVtGxallJU3 qKyHb52zny5w2E8YGgSQ3k8HUxOPpyqGBkzeAiPmLPdD8Df0su/iWWNdZig7RbF4p6 d0NzEsgM+Si5sX9ZEtPibMCBS9t8yuYW5z0nQBeTRZmBfyU98Ag0ocQkMgl447Moe+ oxiijqJo5TobAwmX2uZw2CtkEBKVm8r77ZKsqQtHuWEWNm9Tooe5+ZDvVt3Og0mxy6 MWCQgDoNZgDnPOYmanRhv2q1tf9bvoENra5qWdPIIPN/fkp9mHIVVAPa8XHNGotdsE JgL9uA9NfJTgA== Date: Fri, 13 Aug 2021 11:56:06 -0700 From: Jaegeuk Kim To: Chao Yu Cc: Daeho Jeong , linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, kernel-team@android.com, Daeho Jeong Subject: Re: [f2fs-dev] [PATCH v2] f2fs: introduce periodic iostat io latency traces Message-ID: References: <20210803225542.3487172-1-daeho43@gmail.com> <2a79c1c5-366b-92d9-4025-dbda660b1178@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/13, Chao Yu wrote: > On 2021/8/13 4:52, Jaegeuk Kim wrote: > > On 08/11, Chao Yu wrote: > > > Hi Daeho, > > > > > > On 2021/8/4 6:55, Daeho Jeong wrote: > > > > From: Daeho Jeong > > > > > > > > Whenever we notice some sluggish issues on our machines, we are always > > > > curious about how well all types of I/O in the f2fs filesystem are > > > > handled. But, it's hard to get this kind of real data. First of all, > > > > we need to reproduce the issue while turning on the profiling tool like > > > > blktrace, but the issue doesn't happen again easily. Second, with the > > > > intervention of any tools, the overall timing of the issue will be > > > > slightly changed and it sometimes makes us hard to figure it out. > > > > > > > > So, I added F2FS_IOSTAT_IO_LATENCY config option to support printing out > > > > IO latency statistics tracepoint events which are minimal things to > > > > understand filesystem's I/O related behaviors. With "iostat_enable" sysfs > > > > node on, we can get this statistics info in a periodic way and it > > > > would cause the least overhead. > > > > > > > > [samples] > > > > f2fs_ckpt-254:1-507 [003] .... 2842.439683: f2fs_iostat_latency: > > > > dev = (254,11), iotype [peak lat.(ms)/avg lat.(ms)/count], > > > > rd_data [136/1/801], rd_node [136/1/1704], rd_meta [4/2/4], > > > > wr_sync_data [164/16/3331], wr_sync_node [152/3/648], > > > > wr_sync_meta [160/2/4243], wr_async_data [24/13/15], > > > > wr_async_node [0/0/0], wr_async_meta [0/0/0] > > > > > > > > f2fs_ckpt-254:1-507 [002] .... 2845.450514: f2fs_iostat_latency: > > > > dev = (254,11), iotype [peak lat.(ms)/avg lat.(ms)/count], > > > > rd_data [60/3/456], rd_node [60/3/1258], rd_meta [0/0/1], > > > > wr_sync_data [120/12/2285], wr_sync_node [88/5/428], > > > > wr_sync_meta [52/6/2990], wr_async_data [4/1/3], > > > > wr_async_node [0/0/0], wr_async_meta [0/0/0] > > > > > > > > Signed-off-by: Daeho Jeong > > > > > > > > --- > > > > v2: clean up with wrappers and fix a build breakage reported by > > > > kernel test robot > > > > --- > > > > fs/f2fs/Kconfig | 9 +++ > > > > > > I try to apply this patch in my local dev branch, but it failed due to > > > conflicting with below commit, it needs to rebase this patch to last dev > > > branch. > > > > I applied this in dev branch. Could you please check? > > Yeah, I see. > > > > > +config F2FS_IOSTAT_IO_LATENCY > > > > + bool "F2FS IO statistics IO latency information" > > > > + depends on F2FS_FS > > > > + default n > > > > + help > > > > + Support printing out periodic IO latency statistics tracepoint > > > > + events. With this, you have to turn on "iostat_enable" sysfs > > > > + node to print this out. > > > > > > This functionality looks independent, how about introuducing iostat.h > > > and iostat.c (not sure, maybe trace.[hc])to include newly added structure > > > and functions for dispersive codes cleanup. > > Thoughts? this also can avoid using CONFIG_F2FS_IOSTAT_IO_LATENCY in many places. It seems there's somewhat dependency with iostat which is done by default. How about adding this by default as well in the existing iostat, and then covering all together by F2FS_IOSTAT? > > Thanks,