From patchwork Sat Mar 12 14:09:09 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Guo X-Patchwork-Id: 596658 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3qMm9S4tmhz9sds; Sun, 13 Mar 2016 01:09:48 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical-com.20150623.gappssmtp.com header.i=@canonical-com.20150623.gappssmtp.com header.b=jYWmxy9m; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1aekEj-0000in-OP; Sat, 12 Mar 2016 14:09:45 +0000 Received: from mail-qk0-f182.google.com ([209.85.220.182]) by huckleberry.canonical.com with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.76) (envelope-from ) id 1aekEN-0000bI-Ic for kernel-team@lists.ubuntu.com; Sat, 12 Mar 2016 14:09:23 +0000 Received: by mail-qk0-f182.google.com with SMTP id s68so58839088qkh.3 for ; Sat, 12 Mar 2016 06:09:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical-com.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references; bh=FGnvjSXUA2+mj/kh0kOKmeS5Ik+E1/mxp4IAoVqMc38=; b=jYWmxy9mXJooOXkAyVswK/PwNQ68GciKqASBq1NqxgEwpiHwf18EGd2c0HnkmMZ3HE AtNSacUl15drhe1jNuCs6M3JlwAWvLxO9chC++r7fsSHVItq1HGcDWsg1J6TeaM0RWRY 79v/nzUAmcJS/3jfJuwEw8/0JGFXcxnM2Z5Mpzz/0bZLVcz6HudIFstRF1V4nlM8pu/M u9P0i2srbXFsWm+pt8v0DuGnYHiqmmV2f8+yecg+IK34i9BdNvy5dasM+QqSkOvdxj0U rZCvxs43QmC+6avs06jviRRcwSesoMFfPjbDcQSO2ft9k5k83lL3gC29nXKUQ9+hqh/n Wriw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=FGnvjSXUA2+mj/kh0kOKmeS5Ik+E1/mxp4IAoVqMc38=; b=lMj9i4OwWMmiQ830LE3hmPg2g+0NwqTE4Hn/DKIinOHZEpxqKGuMXikukLuR7EfXLN dvU9byEpu3QDxmEG+bM4QmcCue67mh3CMYao+2FlNXdPhND8g5zl1mAo+bISEA3IvgRm V/6Jkmk8WeDnh2nnylHpv/HccH2bXTcxyzcFPcvjWoTapdIxUo9RAid6KC/YZUMoSjjR 8P+ItkvBGyJH4fYK/2e7a8sUvkJuCyEojRwizV5Iu9FlF9q0RDwV/T3W/zHSi6HAWFOn pZvmdcGtoc+cs5KHN0QMpEgpvJIPBpPZPsP+G9Th9GT04dCoNIH19Kwle5LONs14l9Ll c0Lw== X-Gm-Message-State: AD7BkJLm81o7AxeNlK4w6FGAFt9iC/rfEwGrYfwgThMprnXVWFMaKVDyCaeRhQOgmrmJdVBy X-Received: by 10.55.77.202 with SMTP id a193mr18631174qkb.48.1457791762591; Sat, 12 Mar 2016 06:09:22 -0800 (PST) Received: from localhost.localdomain (114-35-245-81.HINET-IP.hinet.net. [114.35.245.81]) by smtp.gmail.com with ESMTPSA id z110sm6131857qgd.45.2016.03.12.06.09.21 for (version=TLS1_1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 12 Mar 2016 06:09:22 -0800 (PST) From: Gavin Guo To: kernel-team@lists.ubuntu.com Subject: [SRU][Trusty][PATCH 1/3] sched/numa: Move task_numa_free() to __put_task_struct() Date: Sat, 12 Mar 2016 22:09:09 +0800 Message-Id: <1457791755-7266-2-git-send-email-gavin.guo@canonical.com> X-Mailer: git-send-email 2.0.0 In-Reply-To: <1457791755-7266-1-git-send-email-gavin.guo@canonical.com> References: <1457791755-7266-1-git-send-email-gavin.guo@canonical.com> X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com From: Mike Galbraith BugLink: https://bugs.launchpad.net/bugs/1527643 Bad idea on -rt: [ 908.026136] [] rt_spin_lock_slowlock+0xaa/0x2c0 [ 908.026145] [] task_numa_free+0x31/0x130 [ 908.026151] [] finish_task_switch+0xce/0x100 [ 908.026156] [] thread_return+0x48/0x4ae [ 908.026160] [] schedule+0x25/0xa0 [ 908.026163] [] rt_spin_lock_slowlock+0xd5/0x2c0 [ 908.026170] [] get_signal_to_deliver+0xaf/0x680 [ 908.026175] [] do_signal+0x3d/0x5b0 [ 908.026179] [] do_notify_resume+0x90/0xe0 [ 908.026186] [] int_signal+0x12/0x17 [ 908.026193] [<00007ff2a388b1d0>] 0x7ff2a388b1cf and since upstream does not mind where we do this, be a bit nicer ... Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Cc: Mel Gorman Cc: Linus Torvalds Cc: Andrew Morton Cc: Thomas Gleixner Link: http://lkml.kernel.org/r/1393568591.6018.27.camel@marge.simpson.net Signed-off-by: Ingo Molnar (backported from commit 156654f491dd8d52687a5fbe1637f472a52ce75b) Signed-off-by: Gavin Guo Conflicts: kernel/sched/core.c --- kernel/fork.c | 1 + kernel/sched/core.c | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/fork.c b/kernel/fork.c index 52651f1a6a5e..f5e5831b67c3 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -237,6 +237,7 @@ void __put_task_struct(struct task_struct *tsk) WARN_ON(atomic_read(&tsk->usage)); WARN_ON(tsk == current); + task_numa_free(tsk); security_task_free(tsk); exit_creds(tsk); delayacct_tsk_free(tsk); diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 42d354e60c3d..da8f1eab7f17 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2037,7 +2037,6 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev) if (mm) mmdrop(mm); if (unlikely(prev_state == TASK_DEAD)) { - task_numa_free(prev); /* * Remove function-return probe instances associated with this