All of lore.kernel.org
 help / color / mirror / Atom feed
From: Byungchul Park <byungchul@sk.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: linux-kernel@vger.kernel.org, kernel_team@skhynix.com,
	torvalds@linux-foundation.org, damien.lemoal@opensource.wdc.com,
	linux-ide@vger.kernel.org, adilger.kernel@dilger.ca,
	linux-ext4@vger.kernel.org, mingo@redhat.com,
	peterz@infradead.org, will@kernel.org, tglx@linutronix.de,
	rostedt@goodmis.org, joel@joelfernandes.org, sashal@kernel.org,
	daniel.vetter@ffwll.ch, duyuyang@gmail.com,
	johannes.berg@intel.com, tj@kernel.org, tytso@mit.edu,
	david@fromorbit.com, amir73il@gmail.com,
	gregkh@linuxfoundation.org, kernel-team@lge.com,
	linux-mm@kvack.org, akpm@linux-foundation.org, mhocko@kernel.org,
	minchan@kernel.org, hannes@cmpxchg.org, vdavydov.dev@gmail.com,
	sj@kernel.org, jglisse@redhat.com, dennis@kernel.org,
	cl@linux.com, penberg@kernel.org, rientjes@google.com,
	vbabka@suse.cz, ngupta@vflare.org, linux-block@vger.kernel.org,
	josef@toxicpanda.com, linux-fsdevel@vger.kernel.org,
	viro@zeniv.linux.org.uk, jack@suse.cz, jlayton@kernel.org,
	dan.j.williams@intel.com, hch@infradead.org, djwong@kernel.org,
	dri-devel@lists.freedesktop.org, rodrigosiqueiramelo@gmail.com,
	melissa.srw@gmail.com, hamohammed.sa@gmail.com,
	42.hyeyoo@gmail.com, chris.p.wilson@intel.com,
	gwan-gyeong.mun@intel.com, max.byungchul.park@gmail.com,
	boqun.feng@gmail.com, longman@redhat.com, hdanton@sina.com,
	her0gyugyu@gmail.com
Subject: Re: [RESEND PATCH v10 08/25] dept: Apply sdt_might_sleep_{start,end}() to PG_{locked,writeback} wait
Date: Mon, 21 Aug 2023 13:37:44 +0900	[thread overview]
Message-ID: <20230821043744.GA73328@system.software.com> (raw)
In-Reply-To: <ZOLjiF2oKxBvVzyw@casper.infradead.org>

On Mon, Aug 21, 2023 at 05:09:44AM +0100, Matthew Wilcox wrote:
> On Mon, Aug 21, 2023 at 12:46:20PM +0900, Byungchul Park wrote:
> > @@ -1219,6 +1220,9 @@ static inline bool folio_trylock_flag(struct folio *folio, int bit_nr,
> >  /* How many times do we accept lock stealing from under a waiter? */
> >  int sysctl_page_lock_unfairness = 5;
> >  
> > +static struct dept_map __maybe_unused PG_locked_map = DEPT_MAP_INITIALIZER(PG_locked_map, NULL);
> > +static struct dept_map __maybe_unused PG_writeback_map = DEPT_MAP_INITIALIZER(PG_writeback_map, NULL);
> 
> Hmm, why are these "maybe unused"?  *digs*.  Ah.  Because
> sdt_might_sleep_start() becomes a no-op macro if DEPT is disabled.
> 
> OK, the right way to handle this is
> 
> #ifdef CONFIG_DEPT
> #define DEPT_MAP(name)	static struct dept_map name = \
> 		DEPT_MAP_INITIALIZER(name, NULL)
> #else
> #define DEPT_MAP(name)	/* */
> #endif
> 
> And now DEPT takes up no space if disabled.

Currently:

   #if !defined(CONFIG_DEPT)
   struct dept_map { }; 
   #endif

So I think it doesn't take space at all. Do you think I still need to
introduce e.g. DEPT_MAP()? Then I will. Thank you!

	Byungchul

> /* */; is a somewhat unusual thing to see, but since this must work at
> top level, we can't use "do { } while (0)" like we usually do.  Given
> where else this is likely to be used, i don't think it's going to be
> a problem ...

WARNING: multiple messages have this Message-ID (diff)
From: Byungchul Park <byungchul@sk.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: hamohammed.sa@gmail.com, hdanton@sina.com, jack@suse.cz,
	peterz@infradead.org, daniel.vetter@ffwll.ch, amir73il@gmail.com,
	david@fromorbit.com, dri-devel@lists.freedesktop.org,
	mhocko@kernel.org, linux-mm@kvack.org, linux-ide@vger.kernel.org,
	adilger.kernel@dilger.ca, joel@joelfernandes.org,
	42.hyeyoo@gmail.com, cl@linux.com, will@kernel.org,
	duyuyang@gmail.com, sashal@kernel.org, her0gyugyu@gmail.com,
	kernel_team@skhynix.com, damien.lemoal@opensource.wdc.com,
	chris.p.wilson@intel.com, hch@infradead.org, mingo@redhat.com,
	djwong@kernel.org, vdavydov.dev@gmail.com, rientjes@google.com,
	dennis@kernel.org, linux-ext4@vger.kernel.org, ngupta@vflare.org,
	johannes.berg@intel.com, boqun.feng@gmail.com,
	dan.j.williams@intel.com, josef@toxicpanda.com,
	rostedt@goodmis.org, gwan-gyeong.mun@intel.com,
	linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	jglisse@redhat.com, viro@zeniv.linux.org.uk, longman@redhat.com,
	tglx@linutronix.de, vbabka@suse.cz, melissa.srw@gmail.com,
	sj@kernel.org, tytso@mit.edu, rodrigosiqueiramelo@gmail.com,
	kernel-team@lge.com, gregkh@linuxfoundation.org,
	jlayton@kernel.org, linux-kernel@vger.kernel.org,
	penberg@kernel.org, minchan@kernel.org,
	max.byungchul.park@gmail.com, hannes@cmpxchg.org, tj@kernel.org,
	akpm@linux-foundation.org, torvalds@linux-foundation.org
Subject: Re: [RESEND PATCH v10 08/25] dept: Apply sdt_might_sleep_{start,end}() to PG_{locked,writeback} wait
Date: Mon, 21 Aug 2023 13:37:44 +0900	[thread overview]
Message-ID: <20230821043744.GA73328@system.software.com> (raw)
In-Reply-To: <ZOLjiF2oKxBvVzyw@casper.infradead.org>

On Mon, Aug 21, 2023 at 05:09:44AM +0100, Matthew Wilcox wrote:
> On Mon, Aug 21, 2023 at 12:46:20PM +0900, Byungchul Park wrote:
> > @@ -1219,6 +1220,9 @@ static inline bool folio_trylock_flag(struct folio *folio, int bit_nr,
> >  /* How many times do we accept lock stealing from under a waiter? */
> >  int sysctl_page_lock_unfairness = 5;
> >  
> > +static struct dept_map __maybe_unused PG_locked_map = DEPT_MAP_INITIALIZER(PG_locked_map, NULL);
> > +static struct dept_map __maybe_unused PG_writeback_map = DEPT_MAP_INITIALIZER(PG_writeback_map, NULL);
> 
> Hmm, why are these "maybe unused"?  *digs*.  Ah.  Because
> sdt_might_sleep_start() becomes a no-op macro if DEPT is disabled.
> 
> OK, the right way to handle this is
> 
> #ifdef CONFIG_DEPT
> #define DEPT_MAP(name)	static struct dept_map name = \
> 		DEPT_MAP_INITIALIZER(name, NULL)
> #else
> #define DEPT_MAP(name)	/* */
> #endif
> 
> And now DEPT takes up no space if disabled.

Currently:

   #if !defined(CONFIG_DEPT)
   struct dept_map { }; 
   #endif

So I think it doesn't take space at all. Do you think I still need to
introduce e.g. DEPT_MAP()? Then I will. Thank you!

	Byungchul

> /* */; is a somewhat unusual thing to see, but since this must work at
> top level, we can't use "do { } while (0)" like we usually do.  Given
> where else this is likely to be used, i don't think it's going to be
> a problem ...

  reply	other threads:[~2023-08-21  4:40 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-21  3:46 [RESEND PATCH v10 00/25] DEPT(Dependency Tracker) Byungchul Park
2023-08-21  3:46 ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 01/25] llist: Move llist_{head,node} definition to types.h Byungchul Park
2023-08-21  3:46   ` [RESEND PATCH v10 01/25] llist: Move llist_{head, node} " Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 02/25] dept: Implement Dept(Dependency Tracker) Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 03/25] dept: Add single event dependency tracker APIs Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 04/25] dept: Add lock " Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 05/25] dept: Tie to Lockdep and IRQ tracing Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 06/25] dept: Add proc knobs to show stats and dependency graph Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 07/25] dept: Apply sdt_might_sleep_{start,end}() to wait_for_completion()/complete() Byungchul Park
2023-08-21  3:46   ` [RESEND PATCH v10 07/25] dept: Apply sdt_might_sleep_{start, end}() " Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 08/25] dept: Apply sdt_might_sleep_{start,end}() to PG_{locked,writeback} wait Byungchul Park
2023-08-21  3:46   ` [RESEND PATCH v10 08/25] dept: Apply sdt_might_sleep_{start, end}() to PG_{locked, writeback} wait Byungchul Park
2023-08-21  4:09   ` [RESEND PATCH v10 08/25] dept: Apply sdt_might_sleep_{start,end}() to PG_{locked,writeback} wait Matthew Wilcox
2023-08-21  4:09     ` Matthew Wilcox
2023-08-21  4:37     ` Byungchul Park [this message]
2023-08-21  4:37       ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 09/25] dept: Apply sdt_might_sleep_{start,end}() to swait Byungchul Park
2023-08-21  3:46   ` [RESEND PATCH v10 09/25] dept: Apply sdt_might_sleep_{start, end}() " Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 10/25] dept: Apply sdt_might_sleep_{start,end}() to waitqueue wait Byungchul Park
2023-08-21  3:46   ` [RESEND PATCH v10 10/25] dept: Apply sdt_might_sleep_{start, end}() " Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 11/25] dept: Apply sdt_might_sleep_{start,end}() to hashed-waitqueue wait Byungchul Park
2023-08-21  3:46   ` [RESEND PATCH v10 11/25] dept: Apply sdt_might_sleep_{start, end}() " Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 12/25] dept: Distinguish each syscall context from another Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 13/25] dept: Distinguish each work " Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 14/25] dept: Add a mechanism to refill the internal memory pools on running out Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 15/25] locking/lockdep, cpu/hotplus: Use a weaker annotation in AP thread Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 16/25] dept: Apply sdt_might_sleep_{start,end}() to dma fence wait Byungchul Park
2023-08-21  3:46   ` [RESEND PATCH v10 16/25] dept: Apply sdt_might_sleep_{start, end}() " Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 17/25] dept: Track timeout waits separately with a new Kconfig Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 18/25] dept: Apply timeout consideration to wait_for_completion()/complete() Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 19/25] dept: Apply timeout consideration to swait Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 20/25] dept: Apply timeout consideration to waitqueue wait Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 21/25] dept: Apply timeout consideration to hashed-waitqueue wait Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 22/25] dept: Apply timeout consideration to dma fence wait Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 23/25] dept: Record the latest one out of consecutive waits of the same class Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 24/25] dept: Make Dept able to work with an external wgen Byungchul Park
2023-08-21  3:46   ` Byungchul Park
2023-08-21  3:46 ` [RESEND PATCH v10 25/25] dept: Track the potential waits of PG_{locked,writeback} Byungchul Park
2023-08-21  3:46   ` [RESEND PATCH v10 25/25] dept: Track the potential waits of PG_{locked, writeback} Byungchul Park
2023-08-21  4:25   ` [RESEND PATCH v10 25/25] dept: Track the potential waits of PG_{locked,writeback} Matthew Wilcox
2023-08-21  4:25     ` Matthew Wilcox
2023-08-21  4:51     ` Byungchul Park
2023-08-21  4:51       ` Byungchul Park

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230821043744.GA73328@system.software.com \
    --to=byungchul@sk.com \
    --cc=42.hyeyoo@gmail.com \
    --cc=adilger.kernel@dilger.ca \
    --cc=akpm@linux-foundation.org \
    --cc=amir73il@gmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=chris.p.wilson@intel.com \
    --cc=cl@linux.com \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=dan.j.williams@intel.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=david@fromorbit.com \
    --cc=dennis@kernel.org \
    --cc=djwong@kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=duyuyang@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=gwan-gyeong.mun@intel.com \
    --cc=hamohammed.sa@gmail.com \
    --cc=hannes@cmpxchg.org \
    --cc=hch@infradead.org \
    --cc=hdanton@sina.com \
    --cc=her0gyugyu@gmail.com \
    --cc=jack@suse.cz \
    --cc=jglisse@redhat.com \
    --cc=jlayton@kernel.org \
    --cc=joel@joelfernandes.org \
    --cc=johannes.berg@intel.com \
    --cc=josef@toxicpanda.com \
    --cc=kernel-team@lge.com \
    --cc=kernel_team@skhynix.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=longman@redhat.com \
    --cc=max.byungchul.park@gmail.com \
    --cc=melissa.srw@gmail.com \
    --cc=mhocko@kernel.org \
    --cc=minchan@kernel.org \
    --cc=mingo@redhat.com \
    --cc=ngupta@vflare.org \
    --cc=penberg@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rientjes@google.com \
    --cc=rodrigosiqueiramelo@gmail.com \
    --cc=rostedt@goodmis.org \
    --cc=sashal@kernel.org \
    --cc=sj@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tj@kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=tytso@mit.edu \
    --cc=vbabka@suse.cz \
    --cc=vdavydov.dev@gmail.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=will@kernel.org \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.