Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp3713446ybi; Sun, 2 Jun 2019 21:46:15 -0700 (PDT) X-Google-Smtp-Source: APXvYqzvZq+rGkwaRfF+rvVzuuvhO76Bb7/Z0Bxbimnqc+RZUx9uOCNkx1LsRQD0P7aHwndgbnoj X-Received: by 2002:a17:902:3183:: with SMTP id x3mr27665652plb.321.1559537175818; Sun, 02 Jun 2019 21:46:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559537175; cv=none; d=google.com; s=arc-20160816; b=z+vCYBvtWXvgGgFooQEuAF3O+ckhqBwRALYatYNFHEvpMlIZd+iLDmT1v7Eq7eJGnw D2zSUXDd+ItHuaX5wNfgto6Ucjk/S1I5UknIH4bY2C6jwMvItA87sP74pkEK8sVpi5Kx Ve2XyP06ZKAfS0P0oMefJBnIRvjuqRh1qNG9IyYYO23PivgK87mNK7jRIewjKNz4ec52 3l8CIaWtwQqzfTZg7yQEuMoqi1J59zJs229gzFaQslxSPjJVclYLur4aO6x+W+XWFBxU 7/Cyupr4u92yHWG7kU6EiN/gdHPdxHnZRszK8Z3gmbFWR6L76RddWKkXnjt/8UkrhJpJ ONtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=kQJfUh6CZebJTvyOlm/BrG6eGziLh4pUAF96K0u5l9Y=; b=rTGetiaaf2r2otpYA1NGBON1Z/TdzExGWA/zzmH1prtkgVImv58oANlguuy47opd0w ErYhNGu+O3u8NpJcXxIc1L5UZTNL78VkYKJzqPR79m5SWJKFONAP/Rz7Z4zuOkLl7Md2 xlSOETOBUCKBtyVc/qXff1ZtXQ3FvvbGJCj4kLP1FwG8GZ3/UoY+SF198pHKlStAndgb W95QwALA3OucKgg80GjxK9DOslN8LyymOodgqPdscKzReB8BbNmn/d6A5tRdWHLtWIJT Dop6eIty5DDGmaVh7kXAMS8vlX7NhyMhfaMf8mfUNOMJiUQBRvL7sAec5/1UopwBkhmy Ab+w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a20si14477160pgw.306.2019.06.02.21.45.59; Sun, 02 Jun 2019 21:46:15 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726550AbfFCEoq (ORCPT + 99 others); Mon, 3 Jun 2019 00:44:46 -0400 Received: from out30-44.freemail.mail.aliyun.com ([115.124.30.44]:54993 "EHLO out30-44.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726257AbfFCEop (ORCPT ); Mon, 3 Jun 2019 00:44:45 -0400 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R171e4;CH=green;DM=||false|;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04426;MF=liangyan.peng@linux.alibaba.com;NM=1;PH=DS;RN=8;SR=0;TI=SMTPD_---0TTGZFi2_1559537059; Received: from localhost(mailfrom:liangyan.peng@linux.alibaba.com fp:SMTPD_---0TTGZFi2_1559537059) by smtp.aliyun-inc.com(127.0.0.1); Mon, 03 Jun 2019 12:44:27 +0800 From: Liangyan To: mingo@redhat.com, peterz@infradead.org, linux-kernel@vger.kernel.org Cc: yun.wang@linux.alibaba.com, shanpeic@linux.alibaba.com, xlpang@linux.alibaba.com, "liangyan.ply" , Liangyan Subject: [PATCH] sched/fair: don't restart enqueued cfs quota slack timer Date: Mon, 3 Jun 2019 12:43:09 +0800 Message-Id: <20190603044309.168065-1-liangyan.peng@linux.alibaba.com> X-Mailer: git-send-email 2.14.4.44.g2045bb6 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: "liangyan.ply" start_cfs_slack_bandwidth() will restart the quota slack timer, if it is called frequently, this timer will be restarted continuously and may have no chance to expire to unthrottle cfs tasks. This will cause that the throttled tasks can't be unthrottled in time although they have remaining quota. Signed-off-by: Liangyan --- kernel/sched/fair.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index d90a64620072..fdb03c752f97 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -4411,9 +4411,11 @@ static void start_cfs_slack_bandwidth(struct cfs_bandwidth *cfs_b) if (runtime_refresh_within(cfs_b, min_left)) return; - hrtimer_start(&cfs_b->slack_timer, + if (!hrtimer_active(&cfs_b->slack_timer)) { + hrtimer_start(&cfs_b->slack_timer, ns_to_ktime(cfs_bandwidth_slack_period), HRTIMER_MODE_REL); + } } /* we know any runtime found here is valid as update_curr() precedes return */ -- 2.14.4.44.g2045bb6