Andrew Morton wrote:
On Fri, 23 Jun 2006 15:07:28 -0700 Jay Lan <[email protected]> wrote:%ovhd of tgid on over off (higher is worse) Exit User Sys Elapsed Rate Time Time Time 2283 25.76 649.41 -0.14 1193 -10.53 88.81 -0.12 963 -11.90 3.28 -0.10 806 -8.54 -0.84 0.16 694 -4.41 2.38 0.03Oh wow. Something's gone quadratic there.It was due to a loop in fill_tgid() when per-TG stats data are assembled for netlink: do { rc = delayacct_add_tsk(stats, tsk); if (rc) break; } while_each_thread(first, tsk); and it is executed inside a lock. Fortunately single threaded appls do not hit this code.Am I reading this right? We do that loop when each thread within the thread group exits?
Yes.
How come?
To get the sum of all per-tid data for threads that are currently alive. This is returned to userspace with each thread exit.
The lock we're holding is the tasklist_lock. To go through all the threads of a thread groupIs there some better lock we can use in there? It only has to be threadgroup-wide rather than kernel-wide.
thats the only lock that can protect integrity of while_each_thread afaics. --Shailabh - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- From: Andrew Morton <[email protected]>
- Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- References:
- [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- From: Shailabh Nagar <[email protected]>
- Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- From: Andrew Morton <[email protected]>
- Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- From: Balbir Singh <[email protected]>
- Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- From: Andrew Morton <[email protected]>
- Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- From: Shailabh Nagar <[email protected]>
- Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- From: Jay Lan <[email protected]>
- Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- From: Jay Lan <[email protected]>
- Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- From: Shailabh Nagar <[email protected]>
- Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- From: Jay Lan <[email protected]>
- Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- From: Shailabh Nagar <[email protected]>
- Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- From: Andrew Morton <[email protected]>
- Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- From: Jay Lan <[email protected]>
- Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- From: Andrew Morton <[email protected]>
- [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- Prev by Date: Re: [PATCH] 64bit resources start end value fix
- Next by Date: Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- Previous by thread: Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- Next by thread: Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
- Index(es):