From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751479AbdE3MG3 (ORCPT ); Tue, 30 May 2017 08:06:29 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:35388 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750946AbdE3MG0 (ORCPT ); Tue, 30 May 2017 08:06:26 -0400 Authentication-Results: suse.com; dkim=none (message not signed) header.d=none;suse.com; dmarc=none action=none header.from=fb.com; From: Roman Gushchin To: Michal Hocko CC: Roman Gushchin , Tetsuo Handa , Johannes Weiner , Vladimir Davydov , , , Subject: [PATCH] mm,oom: add tracepoints for oom reaper-related events Date: Tue, 30 May 2017 13:05:32 +0100 Message-ID: <1496145932-18636-1-git-send-email-guro@fb.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [2620:10d:c092:200::1:481a] X-ClientProxiedBy: VI1PR09CA0067.eurprd09.prod.outlook.com (2603:10a6:802:29::11) To CO1PR15MB1077.namprd15.prod.outlook.com (2a01:111:e400:7b66::7) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PR15MB1077: X-MS-Office365-Filtering-Correlation-Id: ed63f99e-c494-4d64-73ec-08d4a75442ac X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:CO1PR15MB1077; X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;3:xmGa/daBDW1Hg7y6dGH5SYaVelmjY8llrE5o81/MA9rSHttKhEUcsxfI6B0IjF+Tattp5GxYOCeqTmJHKY0FyLsqGx/o5NEsMno/r3UULHna4bktM4+2lRv9dRXu+ee+gcgXo4ttnRbkYf5UHnmvHz+1ANOR2j6oVyrHUVNhj/0yxVJvUNYrWJMCswTczaIp/fcVGFOiO4qi1LANxWCOEmXO7JCIy4oJyYv9WLgrDyAsc8eo49baU6AqocRiiMC0hHNbBLfG9jP6x0F7b81BZL+I79YkPMZhB3Z9QuUOx7ybhsRP6/HOaMRxk89c02gLmQfjmnDZVN2gb5EYGzeucA==;25:Rj7F0tbzhON2u9k08MbYno6vOaTgOv6+zVDU7fmqidiRATphADoKSsM7zL7QetgVK+U8lT1mZK3cRlWMcCbsZ6qFZzH/lxdsix1fbUfJOmoR0nJHqrsdyZKPtD19b5JLf4XZ47Hixl0y8Mi8Snr9dEtGPXenhZpBD+9YQhLiksQvIpa75XaTmWReG2xTl0zE8jdRZiBHjfa8K84/HN/wAP9sBYPxcnHCPQYQyLNOeno3SPqvbHNFEzJnET9UaRq05PJk//6C45aZccnqPtoIVVhkO7ZZTGk2cJcvkOP5ppo48cqLYKSrvhi7NwEXJxIpuMWLsQeXHb6mQ+h97OR/f2sGCfMD0RAQqOEGeSXgo3PkuzUjc9vmfoYxNDS+oO8rxoc82oFRN0agGrbAnjTox01Urt7QUcc67E3Y/VarwfMRAVLnUoEjgsRYXPT8BwQqk6KKkRzSq4Cirx/bTTmCkS1lHisQvf7yiu/HT9927Nw= X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;31:2ZmCCxpLe+xy9ZzEsOuJoz/FelyrpWYBR8yG8BLW0sz09d0BYzhJv1qmvlu/GGCuq45KOXdCp1JbJ3Ny4RBQZ2p1kiL8guzwU0OCASbcsSFuBPvgSVCE/lf7ppzphwZy+5N5B6wKELXKtcyXUX8SCDC9ie+0SssfFeXVlC6ShoVZRqLx9YBk4m5+eKrH4mBO+nOeY/CH14xvSFoDTpajYEYM7qDNpkFG7VfFPUNrA9Q=;20:80yjdPoAF5Eb33OzG2d3saW4qzTgLexVvpPWaX8644Mpg0JFYSovkU75HCUNkCK/B9wWYkv4TM5jwEKZVk9bBN3kMfOIMalB2JadL7EA+sCffPQbp05sqbS1pFKb4O8moR58/1iM2xsYehRC5+EAo6GtCaDQGfmlGJKsaoAsjbLdHBPw5tN2eRifKCZb61K95GMg7/DEJzPIvC6yBu99Oyz44c7XmV/780fdk5uxtlmPx4sf/2VOZP6FOqw9xfc1l45OEOrDrkFZ/7DZB/ALp8h0jvvaCKaZ+mSr2D0ChO/pDxersi2eq0YUCDJOCUpXhBPpa8CvmCjLpWIok42K9diJlNbvLvbZF/o1Afnu6PKbWIKbLwBoYF3K7f4ZGs6QnW4vqaM5FeA8wAoFi6vDuroTzeBXd1LadYbxjpsIknNltuEu1sm0yxDU3AjFHzKN/NSmMzt2w9BMy4J4oY3gxeayKNk5XLaVpYc/v8GPj4kHK4YLVB9YELA4W712KRME X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(67672495146484); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(6041248)(20161123562025)(20161123564025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123560025)(6072148);SRVR:CO1PR15MB1077;BCL:0;PCL:0;RULEID:;SRVR:CO1PR15MB1077; X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;4:uN7RCvQP48Dt/0+P+PnUePqbv5O8lw3gbLzbqsMCSbxSmo8ZiV4BBSdv4QhHG7JkMgNIQV57Pdv2u8RYHdqBQdGFV7OJS7yt4DmCMct26frh5CCj+psJjZwNXbACsvsyrdV+Zgpjy24jjIQ7JjaFLlPwfpJK3o/Vbgvs0ZbUzqJwuQL/JIzg52FODw2bY7cyARlRAjF2ipKpP8+blaKGNGfEfbLzxI+/ZZjDfWO8KKxlYqS6l1tjgsUDebZKq6ufGiRjF0Vtjpc1fqXGKrYVXN+CIKNqP9goawOuB9Q8XewlHCjPQyYitO/l20HYSi/amSCNHbx0/ESQdlKCaAoNOuu0QH0HBxbcbAd+CtHEzecKP56JfuignJbc2rqb2M29OVaVx93vI2mi/asuxmO8mmz5kXkgFoAxQfGO3grz2gQv254ouEDDgvUQfsWSf7vkS9FbUlkK26D5nmSxDchyRpynRSOJxOxVBge9xz+kHtDFcCj9ALQaRsM/IZyWIoqhdU8p1Be+Td5x2DSo4j9m7USPvm4rhKUWJiP0Adhf1Cvylh1zSo0MQzcXqtRnbsAQelfDiRXVbxicCLaWh16bTM38RRRkA/o30smpix3uEuhh31U8hP7fcWxl/CS7s92Mek0RaE8/ITqUAKQOaEKdwp/zZNVmQkc4OLTorUFn7Ux+pJ06sBeZwhRF7ptVTZDhp4ed8MO0p5PNlJYjPrRCzgP1E5eUdD+dK6tVDZOqumZsoKMP/RiSWwyIF1LdztXPKxrOzlYWvGGBErWKwOVxONBV9eohQwRBKVvuuZ+QNoSp5pg80eFzQQmMGUSplINH9Opb0U834kNtofIzZgvvD6gk11saQyNqw8NXxp5zEL0= X-Forefront-PRVS: 032334F434 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(39410400002)(39840400002)(39850400002)(39400400002)(39450400003)(7736002)(6116002)(305945005)(6916009)(25786009)(86362001)(53936002)(6666003)(4326008)(50226002)(33646002)(110136004)(38730400002)(81166006)(5003940100001)(8676002)(42186005)(478600001)(50986999)(5660300001)(6506006)(50466002)(48376002)(6486002)(47776003)(53416004)(189998001)(54906002)(6512007)(36756003)(2906002)(142933001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:CO1PR15MB1077;H:castle.thefacebook.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CO1PR15MB1077;23:uC21YheyDgQymsl+yX87JoGLYqNkd8fBXcEMzrv2p?= =?us-ascii?Q?8FBmpjHzH2SjJo+mKXKPW9Sp9vwQep52hcUjeteVnSEr6nbzmAei+sawWJBF?= =?us-ascii?Q?ujhbmIooFHnvpG+0Wp0AtYT3LBEOhr3Bl72WdmH8hn5DolXcspGhBXGSVOUM?= =?us-ascii?Q?wF8DTTB/9U1tjN4pxbduS052AUX4TTBwglOVAmzTvQEnBiMQ9OPXGd++A5D2?= =?us-ascii?Q?UzHZQ5gXzXU9ZdSs4yDMzcu0Fz7f8Sg/Ubvyu28+hIDmD5SA6pFUgGjz/J8w?= =?us-ascii?Q?QoImXh0TIbo/LP5icNsvZujkrpDvWsiN0ZCq9K0rHojI8kXjK94lOo2u4ESy?= =?us-ascii?Q?73vtIxbbqirzCwRff93tMdF9GUBFFTTRmnd0TX5JiQXp5FfcrWSbrDGkj8L+?= =?us-ascii?Q?pz6FxOs/jKwMB33F+HmuAF8r1fy7/xhyEw9EESWTSFx8c6U7/wO7IZJKwIWW?= =?us-ascii?Q?gtQ15TwotdJ0Va/JjEfnMKEaEOZfxDwtRZPb3m7IEhs9pf6AJ4umpD7QqV16?= =?us-ascii?Q?mPUAC8RnA7IRcPLk0567wvJfRUd3XgNye++Omk+fDKwwgnLjGnEkQOJQ6GGJ?= =?us-ascii?Q?OWyHwsTua4+wPV3pRsLmiZD9g4wwFkWT52LDnUgHKOQW9nwIBZx7QlaZ1VnU?= =?us-ascii?Q?ri1q4x2CiqXhRBE/15xVe6JwBX+DUFXStTUNhReKC8ORCAcvB8546LvLcZp+?= =?us-ascii?Q?IpzkVHyqwkZeUSFxALtL4JcLnl7m9LwWrmu7SWUvlaOIDVsQwYr3cQ6YOf2L?= =?us-ascii?Q?kigO8REsFZqgEvf60YfwgkjgfKbDkuGquJmXUNzjP/JolIBxjcLM0u54al8p?= =?us-ascii?Q?f91HH53dd/MubDQJefGSlqZyHtJnNoI6jTmCPqmDAN5NiveD0RXH2Cg/nGfC?= =?us-ascii?Q?cNTkwkD+vqB+Gn1kkcCQ4w17kX2VVSr/nMalhm07hKDZkceQNSlTgKPsoynG?= =?us-ascii?Q?8sUYJlWADNiC6ctcne6YAYiFCjTRTyFxxDLf1BmIEWPX3q5dL4k9vEY90/Gv?= =?us-ascii?Q?kRl63LeaXh3nGyMNsNzgjAZN6poyjlxWCtyw42PmtJShA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;6:qzARaiZDsMSfvM94gL0I6H3JIgyYOoajubu50s0urTOa1/PfP0EQudoA2RTSJouOb+pMRsO1ehg5jlA2d0CT88RWxXQIHz38Lu/SY+6GBsiMwevNhi+1cZC67qIo41uR1ufw8Ji23Zcmp9ebB9R+dSZv/kDWDEshOUX8skvmArHwJhw2azs1b+UXJ0SB1QcFmZ7SWmqDA7vpo19fzjGBNPTaVsD7EYdKkIHrAqGtDOxv3so6OirSMgA2Jj9pxNcNVUdUViC21bQqZATx8Zkib+Q/DRn1fu/Vo2Nq9UIdtVYcE5DJ0i/02359CBt1OIF9iQMf/Lxo3KovVIEGuMJq+nB7reYIEDdFrHf/a4h8XK+Mcvqb5rUdSDd6BcGYFYqzxjydA68Jg5KGzKwauJqFaJj66EUkVWHusJ0O4WmFzwAD4uNRk3fJZ2/Cj3Bmh51p/o761uXds+a7OhrIX0PnHP21P8LBa+mAxtO30sc2ZmeNTFg7jWiL3Hl0E9t5aAAF9f4im+U/mA/HyxYtBywGpg==;5:9fPmiMiS7oa1mjKtXPTdQQJIJkTzSmw54NkmLDWeoBhVqGitbjre1N5Ap2tTKVxPmrOtMiAZ2Bq2Cgum9ohJdt0A7U4Z+xQ/3n+0nutwF27C0d1TDk0U7LLnrbSWdtNRwPyUJGRUDjzNsWOzPcC9ihNnLeSUomWlLZE94ruvuZU=;24:/N0E8cHkNaiLZWgbGIesE46UghDr7u/nfSIV8IFUly14XXggvJQ0F7saXu7bzhkCuuqUS94a+k9O4ioakjqnimccAJtfqq4oaaUpLxHH63A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;7:yIovfcpKaQEze3LXozt3Z3ohJQUgo4RBNg6sBdECvY2gcFI4ktc8yc5pqWH1KN/BtnFV6MY++GHazAgBPh5GwawJi3C65baMrUnk04T6EVIfqJZjTQmcW6r2Au7WMVwCXIBcnjCgMr++Q/NthNosdlIRpleovrDa1obVr4Qj6XM7hq+tlnpLFWYWvFuxVUPmrFC5I6Jf4yOr4SNU1Co/tQqe0AXBfl/ikqdk/Y6kr7+j5MUnyMpEcjApDDstLp4lbiiQRkfQpAb1He7mx11zEitTlM+FIzPFOODQhBXkTECr/E5R7HbqZSrk6/ZbfG2xg+IvBK5aSvkyWxOSfG7hJA==;20:Q6CfYzPCgvzGqyj4NkXjjAHSCXFAHFm+4L2QO9Mnssalr/Kgrh2I6WLK51v8DFu6SV3hMzztZz2cQB/XBfqYDBtncFgcm+ZRFHLtUJIw5hVwUAb82fDDyzogTqLFzQja/mBH4+UeibCflXIGtIfx5yR8RBwmjCLir96a77KVNhI= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2017 12:06:08.4084 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR15MB1077 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-05-30_08:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add tracepoints to simplify the debugging of the oom reaper code. Trace the following events: 1) a process is marked as an oom victim, 2) a process is added to the oom reaper list, 3) the oom reaper starts reaping process's mm, 4) the oom reaper finished reaping, 5) the oom reaper skips reaping. Signed-off-by: Roman Gushchin Cc: Michal Hocko Cc: Tetsuo Handa Cc: Johannes Weiner Cc: Vladimir Davydov Cc: kernel-team@fb.com Cc: linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org --- include/trace/events/oom.h | 80 ++++++++++++++++++++++++++++++++++++++++++++++ mm/oom_kill.c | 7 ++++ 2 files changed, 87 insertions(+) diff --git a/include/trace/events/oom.h b/include/trace/events/oom.h index 38baeb2..c3c19d4 100644 --- a/include/trace/events/oom.h +++ b/include/trace/events/oom.h @@ -70,6 +70,86 @@ TRACE_EVENT(reclaim_retry_zone, __entry->wmark_check) ); +TRACE_EVENT(mark_victim, + TP_PROTO(int pid), + + TP_ARGS(pid), + + TP_STRUCT__entry( + __field(int, pid) + ), + + TP_fast_assign( + __entry->pid = pid; + ), + + TP_printk("pid=%d", __entry->pid) +); + +TRACE_EVENT(wake_reaper, + TP_PROTO(int pid), + + TP_ARGS(pid), + + TP_STRUCT__entry( + __field(int, pid) + ), + + TP_fast_assign( + __entry->pid = pid; + ), + + TP_printk("pid=%d", __entry->pid) +); + +TRACE_EVENT(start_task_reaping, + TP_PROTO(int pid), + + TP_ARGS(pid), + + TP_STRUCT__entry( + __field(int, pid) + ), + + TP_fast_assign( + __entry->pid = pid; + ), + + TP_printk("pid=%d", __entry->pid) +); + +TRACE_EVENT(finish_task_reaping, + TP_PROTO(int pid), + + TP_ARGS(pid), + + TP_STRUCT__entry( + __field(int, pid) + ), + + TP_fast_assign( + __entry->pid = pid; + ), + + TP_printk("pid=%d", __entry->pid) +); + +TRACE_EVENT(skip_task_reaping, + TP_PROTO(int pid), + + TP_ARGS(pid), + + TP_STRUCT__entry( + __field(int, pid) + ), + + TP_fast_assign( + __entry->pid = pid; + ), + + TP_printk("pid=%d", __entry->pid) +); + #ifdef CONFIG_COMPACTION TRACE_EVENT(compact_retry, diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 04c9143..409b685 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -490,6 +490,7 @@ static bool __oom_reap_task_mm(struct task_struct *tsk, struct mm_struct *mm) if (!down_read_trylock(&mm->mmap_sem)) { ret = false; + trace_skip_task_reaping(tsk->pid); goto unlock_oom; } @@ -500,9 +501,12 @@ static bool __oom_reap_task_mm(struct task_struct *tsk, struct mm_struct *mm) */ if (!mmget_not_zero(mm)) { up_read(&mm->mmap_sem); + trace_skip_task_reaping(tsk->pid); goto unlock_oom; } + trace_start_task_reaping(tsk->pid); + /* * Tell all users of get_user/copy_from_user etc... that the content * is no longer stable. No barriers really needed because unmapping @@ -544,6 +548,7 @@ static bool __oom_reap_task_mm(struct task_struct *tsk, struct mm_struct *mm) * put the oom_reaper out of the way. */ mmput_async(mm); + trace_finish_task_reaping(tsk->pid); unlock_oom: mutex_unlock(&oom_lock); return ret; @@ -615,6 +620,7 @@ static void wake_oom_reaper(struct task_struct *tsk) tsk->oom_reaper_list = oom_reaper_list; oom_reaper_list = tsk; spin_unlock(&oom_reaper_lock); + trace_wake_reaper(tsk->pid); wake_up(&oom_reaper_wait); } @@ -666,6 +672,7 @@ static void mark_oom_victim(struct task_struct *tsk) */ __thaw_task(tsk); atomic_inc(&oom_victims); + trace_mark_victim(tsk->pid); } /** -- 2.7.4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f199.google.com (mail-pf0-f199.google.com [209.85.192.199]) by kanga.kvack.org (Postfix) with ESMTP id B19136B02F4 for ; Tue, 30 May 2017 08:06:24 -0400 (EDT) Received: by mail-pf0-f199.google.com with SMTP id e7so92474962pfk.9 for ; Tue, 30 May 2017 05:06:24 -0700 (PDT) Received: from mx0a-00082601.pphosted.com (mx0a-00082601.pphosted.com. [67.231.145.42]) by mx.google.com with ESMTPS id u17si44509740plj.231.2017.05.30.05.06.23 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 30 May 2017 05:06:23 -0700 (PDT) From: Roman Gushchin Subject: [PATCH] mm,oom: add tracepoints for oom reaper-related events Date: Tue, 30 May 2017 13:05:32 +0100 Message-ID: <1496145932-18636-1-git-send-email-guro@fb.com> MIME-Version: 1.0 Content-Type: text/plain Sender: owner-linux-mm@kvack.org List-ID: To: Michal Hocko Cc: Roman Gushchin , Tetsuo Handa , Johannes Weiner , Vladimir Davydov , kernel-team@fb.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Add tracepoints to simplify the debugging of the oom reaper code. Trace the following events: 1) a process is marked as an oom victim, 2) a process is added to the oom reaper list, 3) the oom reaper starts reaping process's mm, 4) the oom reaper finished reaping, 5) the oom reaper skips reaping. Signed-off-by: Roman Gushchin Cc: Michal Hocko Cc: Tetsuo Handa Cc: Johannes Weiner Cc: Vladimir Davydov Cc: kernel-team@fb.com Cc: linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org --- include/trace/events/oom.h | 80 ++++++++++++++++++++++++++++++++++++++++++++++ mm/oom_kill.c | 7 ++++ 2 files changed, 87 insertions(+) diff --git a/include/trace/events/oom.h b/include/trace/events/oom.h index 38baeb2..c3c19d4 100644 --- a/include/trace/events/oom.h +++ b/include/trace/events/oom.h @@ -70,6 +70,86 @@ TRACE_EVENT(reclaim_retry_zone, __entry->wmark_check) ); +TRACE_EVENT(mark_victim, + TP_PROTO(int pid), + + TP_ARGS(pid), + + TP_STRUCT__entry( + __field(int, pid) + ), + + TP_fast_assign( + __entry->pid = pid; + ), + + TP_printk("pid=%d", __entry->pid) +); + +TRACE_EVENT(wake_reaper, + TP_PROTO(int pid), + + TP_ARGS(pid), + + TP_STRUCT__entry( + __field(int, pid) + ), + + TP_fast_assign( + __entry->pid = pid; + ), + + TP_printk("pid=%d", __entry->pid) +); + +TRACE_EVENT(start_task_reaping, + TP_PROTO(int pid), + + TP_ARGS(pid), + + TP_STRUCT__entry( + __field(int, pid) + ), + + TP_fast_assign( + __entry->pid = pid; + ), + + TP_printk("pid=%d", __entry->pid) +); + +TRACE_EVENT(finish_task_reaping, + TP_PROTO(int pid), + + TP_ARGS(pid), + + TP_STRUCT__entry( + __field(int, pid) + ), + + TP_fast_assign( + __entry->pid = pid; + ), + + TP_printk("pid=%d", __entry->pid) +); + +TRACE_EVENT(skip_task_reaping, + TP_PROTO(int pid), + + TP_ARGS(pid), + + TP_STRUCT__entry( + __field(int, pid) + ), + + TP_fast_assign( + __entry->pid = pid; + ), + + TP_printk("pid=%d", __entry->pid) +); + #ifdef CONFIG_COMPACTION TRACE_EVENT(compact_retry, diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 04c9143..409b685 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -490,6 +490,7 @@ static bool __oom_reap_task_mm(struct task_struct *tsk, struct mm_struct *mm) if (!down_read_trylock(&mm->mmap_sem)) { ret = false; + trace_skip_task_reaping(tsk->pid); goto unlock_oom; } @@ -500,9 +501,12 @@ static bool __oom_reap_task_mm(struct task_struct *tsk, struct mm_struct *mm) */ if (!mmget_not_zero(mm)) { up_read(&mm->mmap_sem); + trace_skip_task_reaping(tsk->pid); goto unlock_oom; } + trace_start_task_reaping(tsk->pid); + /* * Tell all users of get_user/copy_from_user etc... that the content * is no longer stable. No barriers really needed because unmapping @@ -544,6 +548,7 @@ static bool __oom_reap_task_mm(struct task_struct *tsk, struct mm_struct *mm) * put the oom_reaper out of the way. */ mmput_async(mm); + trace_finish_task_reaping(tsk->pid); unlock_oom: mutex_unlock(&oom_lock); return ret; @@ -615,6 +620,7 @@ static void wake_oom_reaper(struct task_struct *tsk) tsk->oom_reaper_list = oom_reaper_list; oom_reaper_list = tsk; spin_unlock(&oom_reaper_lock); + trace_wake_reaper(tsk->pid); wake_up(&oom_reaper_wait); } @@ -666,6 +672,7 @@ static void mark_oom_victim(struct task_struct *tsk) */ __thaw_task(tsk); atomic_inc(&oom_victims); + trace_mark_victim(tsk->pid); } /** -- 2.7.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org