[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231009084341.GA14330@noisy.programming.kicks-ass.net>
Date: Mon, 9 Oct 2023 10:43:41 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: brookxu <brookxu.cn@...il.com>
Cc: bsingharora@...il.com, juri.lelli@...hat.com,
vincent.guittot@...aro.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/3] delayacct: convert task->delays to a object
On Sun, Oct 08, 2023 at 07:10:01PM +0800, brookxu wrote:
> > > @@ -1331,7 +1332,7 @@ struct task_struct {
> > > struct page_frag task_frag;
> > > #ifdef CONFIG_TASK_DELAY_ACCT
> > > - struct task_delay_info *delays;
> > > + struct task_delay_info delays;
> > > #endif
> > Yeah, no.
> Yes, this way will increase about 80 bytes for task_struct, about 0.85% of
> size of task_struct, I think this just like sched_statistics, so that can
> better support dynamically enable through sysctl.
But it's 80 bytes 'nobody' will use. And arguably we should do the same
with schedstats, that's default disabled and again, that's per-task
storage nobody ever uses.
Per this argument we can grow task_struct indefinitely until it
collapses in on itself by the sheer weight of it's information density.
Every additional field will be a smaller fraction of the total.
Yes, it makes it all a little more cumbersome, but we should really not
burden everybody with the load of some.
Surely there is another solution... ?
Powered by blists - more mailing lists