From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755037AbbI2Bme (ORCPT ); Mon, 28 Sep 2015 21:42:34 -0400 Received: from mailout1.samsung.com ([203.254.224.24]:39055 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754972AbbI2Bmb (ORCPT ); Mon, 28 Sep 2015 21:42:31 -0400 X-AuditID: cbfee61b-f79d56d0000048c5-c2-5609ec8478b3 From: Chao Yu To: mingo@redhat.com, peterz@infradead.org Cc: linux-kernel@vger.kernel.org References: In-reply-to: Subject: RE: [PATCH] sched/fair: fix incorrect calculation of capacity in scale_rt_capacity Date: Tue, 29 Sep 2015 09:41:32 +0800 Message-id: <009301d0fa58$1986b8f0$4c942ad0$@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7bit X-Mailer: Microsoft Outlook 14.0 Thread-index: AdD1vxvB0dOrXO8zTe6BecVlrspWMQEmI5Ag Content-language: zh-cn X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrMLMWRmVeSWpSXmKPExsVy+t9jQd2WN5xhBm8emVlc3jWHzeLSgQVM Fsd7DzA5MHtsXqHl8X7fVTaPz5vkApijuGxSUnMyy1KL9O0SuDK2TbrDXHCPo6Jn9wW2BsYJ 7F2MnBwSAiYSf88+YoawxSQu3FvP1sXIxSEkMItR4sSt84wQzitGiYndO8A62ARUJJZ3/GcC sUUEtCQmLTzHBmIzCyhI/Lq3ibWLkQOogVtidXMQSJhTgEdi3Z9OsAXCArESy5Y+BStnEVCV WPlxDguIzStgKTF/xxooW1Dix+R7LBAjtSTW7zzOBGHLS2xe8xbqUAWJHWdfM0KcYCTx7Nk9 RogacYmNR26xTGAUmoVk1Cwko2YhGTULScsCRpZVjBKpBckFxUnpuUZ5qeV6xYm5xaV56XrJ +bmbGMFB/0x6B+PhXe6HGAU4GJV4eA36OMOEWBPLiitzDzFKcDArifBaXgYK8aYkVlalFuXH F5XmpBYfYpTmYFES571xiCFMSCA9sSQ1OzW1ILUIJsvEwSnVwFjX7h918FF51CKv0qxdFRbf 3jKfXt9kUrFlvoamzX9xh/Uh6no3C6f0nzy6L//VSVshll3R7xNPnNzmO/+sfcoNnV8ndpUu jfv9reOR8qd07vkC8fV6+3NS2+fbiZw7fo9n//r+Vkff07JhBd13OG2UE5P9WG9Na1/RNetF cp4vl4XsFSGH30osxRmJhlrMRcWJAKvc85B2AgAA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Ping. > -----Original Message----- > From: Chao Yu [mailto:chao2.yu@samsung.com] > Sent: Wednesday, September 23, 2015 2:16 PM > To: 'mingo@redhat.com'; 'peterz@infradead.org' > Cc: 'linux-kernel@vger.kernel.org' > Subject: [PATCH] sched/fair: fix incorrect calculation of capacity in scale_rt_capacity > > div_u64 can only handle 32-bits divisor, if our divisor is with type of > 64-bits, we should use div64_u64 instead, otherwise value of divisor will > be cast to 32-bits, resulting in wrong calculation. > > Signed-off-by: Chao Yu > --- > kernel/sched/fair.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index 9176f7c..ee268ef 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -6086,7 +6086,7 @@ static unsigned long scale_rt_capacity(int cpu) > > total = sched_avg_period() + delta; > > - used = div_u64(avg, total); > + used = div64_u64(avg, total); > > if (likely(used < SCHED_CAPACITY_SCALE)) > return SCHED_CAPACITY_SCALE - used; > -- > 2.5.2