From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752177AbdA1Pk3 (ORCPT ); Sat, 28 Jan 2017 10:40:29 -0500 Received: from mail-eopbgr10092.outbound.protection.outlook.com ([40.107.1.92]:15392 "EHLO EUR02-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752049AbdA1PjP (ORCPT ); Sat, 28 Jan 2017 10:39:15 -0500 Authentication-Results: spf=pass (sender IP is 131.228.2.36) smtp.mailfrom=nokia.com; infradead.org; dkim=none (message not signed) header.d=none;infradead.org; dmarc=pass action=none header.from=nokia.com; X-HPESVCS-Source-Ip: 10.159.218.88 From: Shile Zhang To: Ingo Molnar , Peter Zijlstra CC: , Shile Zhang Subject: [PATCH] sched: fix the inconsistent of SCHED_RR timeslice tuning knob showing Date: Sat, 28 Jan 2017 22:00:49 +0800 Message-ID: <1485612049-20923-1-git-send-email-shile.zhang@nokia.com> X-Mailer: git-send-email 2.6.2 MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:131.228.2.36;IPV:NLI;CTRY:FI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(7916002)(39410400002)(39450400003)(39840400002)(39860400002)(39850400002)(2980300002)(438002)(199003)(189002)(38730400001)(5660300001)(305945005)(356003)(50986999)(47776003)(48376002)(103686003)(33646002)(106466001)(6666003)(5003940100001)(45336002)(50466002)(54906002)(46386002)(42186005)(2906002)(4001430100002)(626004)(8936002)(36756003)(50226002)(22756006)(189998001)(107886002)(53936002)(81156014)(86362001)(575784001)(68736007)(5001770100001)(97736004)(90966002)(81166006)(4326007)(52956003)(92566002)(8676002);DIR:OUT;SFP:1102;SCL:1;SRVR:DB6PR0701MB2710;H:hybrid2.ext.net.nokia.com;FPR:;SPF:Pass;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;AM1FFO11FD042;1:cIT0GB3p0UQMcv26J3PC3gnbeQB0ZvMTehvgo7ni87m1qNmWyvPm7hWt9b+SZVpOQ7s3GY110tPzuAjH2OzPME1ibLIeB78SlZpBtbgKyuauRXQVpynBK6KLJ9jbC24w9xyZf0/6n4dVuwcF1mXH/wXHMNY7kQoFjNHqkpOw82pnutMk1IoPfbi6BvUHL2SOvcW+K6PcLhdGTNxYJjNqPEqpjsmxkwXRCI2s0IcEGNZn9DVAB6We0eh0EYrtATOr5glLAoBr8gT6Tz38IDXOOUObM5W3PSZ62/OLkix9zzfNdxClD1MV2Ca85FEOugDZHXYcte3WZW1AAcAj8l4s+XTVeVGRAoH+54tJ64AdgUwaFMBw2ygxTd9b79fHZeJ2QxCQVwv5v5ok+V1+OmZ2ITkdqgFmDRUcT4K3cjDRQQFW5EbBamQu0xaL+3Wfk9nWEBnzc2gfNZ5fN5TBPjZOjHOwn9l8ynDkUk5ptrhKsNZUjGq0xY2B2Ut3JFU+pTXY X-MS-Office365-Filtering-Correlation-Id: 49963294-e770-4ecb-78a1-08d4478630d0 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002);SRVR:DB6PR0701MB2710; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0701MB2710;3:Nbs+KbZ8VC37lYWwJ2QOKBDKpE9jBqXl/z0xACQVYWuL832dKugT/5JcKSBunn/WY27bk+q+Nok8VUqoilY+qeHcu+LXvOf0yGHeKLQMDlX9l3r6jQ6lQsPIlkkr6D40tducXNL/3fu6ZozvI7G42ekkLJZW2bA3YLte+xhhBKH+8NVPcA7l4IHh86l+/EVdOCfSNqyHxHOUQLVZsGHbk/GXYjHrZ8JWX6yujZX4IySfL63LSghUzFLGFEwdZYYHIUmtbe3ia8b9DQNBCYw766/Pi1Cn6vhUDXXFnYzI+XFwzRPAseo9+t3+4uBwqlwy6+ANq6moujt4Tll5NjIzCm+QJ1RdFF3Na/NAw8a2qWlVS5KnJRZvu7QbHkbyHqViMi6BCu8HXt2hzeYFymNkbg==;25:S+pGzehNWlq8/SXxGSB2lbgyQg5D6k+27G4lF/b+zRIKLEMf7SyZ+PtTxGDUet3AA3oxPo/oSs/gIpDr7U/ZV6ZK3nhJGa55dIgJRVGcsicnqS/PZeerbOtlGHqfEEPAWCWkmQyZQr5M/0eiE14MqNUqrDVy+UMDoQD6cJE5ChCBgOhH+j1lMVsz/TgTBOapxvwjtfY4k49CW3NLE0Cs9+ZHs0ONJ9i18MkrbQrqn7TGDPXv14LQduHgwocns/+JQhMd2nwo46bqTiGGQsNcbmhDdNwtX9orqXXTLGXpDWRZGPj7H3B7HocsqQ6wCzDLEkPZQsVHS9J4DBAl5n4CqBcsInPlXdgwgLEx9DB6gqOonR5PhYPYP6+c3QSJbTOXewFGCinK+93KK+MbaA3AAiAAnxP0A5het5hNYY9xLnJ3bX1MpW6JRWvib8xbwG3c70z2PPj7+tbpmYxe+AGVig== X-Microsoft-Exchange-Diagnostics: 1;DB6PR0701MB2710;31:KeGP6fjpO0KsOINHcWN0C6UqN/yz7JEDpXuRqzaCSg7guqDpyw6XT3lxfJY8ZA6XcVXpDdYIYT/PCihg9oK73TZokJ+nfG0chpq5Z0HB5591hRYFn5c6smZeiAyNvzRg7JWwBLaDnrNboDedFpkQ58x+EEmAt4WHkNj9r32zXWINNCbnv2NiM5ceRfc0hOA1io3pXgx0PrvddssogIYoF5S7sD0QUYTz5mBj8qVX5YkyJVTP/LwmXG4XRHLHQj0ZL7NuiodR+ZJjwoOh1xxJnw==;20:0Njyqq7TOeiCoX5/FJ2bqteFQzAoTCbTSkz9mu1mYW4eJ2rv8G0ssKSHsvL0fmFDplUgK2se+jDYHh/ZTGFk6jjNLhUE1iMqJdenkltuiy2cfJT1CoNvAg2yLI05TDTbLEuQrr1st/tLsdNzSad+2k43rBwDvVYMVrEFtjmvDuqTWfY0HIdhT+4qT1NDJM85/l2sX3DrMTOW+83q77kFaXoUVYvLgbTTd78R3C09Eh/K/FEH3bd8C5huTjTh4OBQtWPBiXU4kXewY4JM/xr1J6Ezp832MrUHekGzsDboogpZDnmphT6jvynTPLJnw9WzWaRTDWochmOlRLwEcscyeYZG0wCObpIPF9PYAf9hAjMOuKppLcBBHvSAeJSK9GNb2piPjyEpGwFA6t4Escz5kCagal84qbQFHAGSwLLgayBZvxWka8m78j8KHkS13817VIjRYC4koYD0yCzPy3Au7Y8hxW02p1920OSpvxoqqFm8vQehQYrVBsy93S9K+YIjSavBLOvj7l3H7+ZIfmKSOZh3BW9z5/bxmbSlykvx8xV64Yj73LyG+RXwlTrrIDNgQb1w2Wcp7N+4WseGoL/WfIZ4FQn6pvA+FUSJWpvP/pU= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(82608151540597); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(13018025)(13016025)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6041248)(20161123562025)(20161123564025)(20161123555025)(20161123560025)(6072148);SRVR:DB6PR0701MB2710;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0701MB2710; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0701MB2710;4:CuJcHwCfzBarbnNDDy58Fxa4a9tn8N7RVL9nnThxtvMvNyVwVEu7BvIRNaFrMYK2M2w0ibga3xMo+hE3ohQ2qFJn01QQQtt6eUW+9ATtAYxuaF4O+tzWqmlBVOiFlHLEAcB/KOhQ7I3lIxFNHcb68yDTpy1Dz9LPXHWAShEw2DkhlJLQ3f+bBZoc6SKDZ5grDKRHnHLTLV8nRsTd8aLPX1R940oMU8E5x9ww/4i7nRnk/ODs7MDp69Dm4iw/lTLz7jwRARZPREyxtTnCl06W1xeQLGiy8sDN0rH9gBPAme27z76Cg6HnpIRK39hh9HfLL4yyu1i83nIfsPe84hEC43m7Oc73mfE9EoKvCK1ocqCriE01kDU4k88AkJBnXhXPF4AnlJDzmXs7m+f4jYoLRX85AFpMrK7fadOxP7ggdB9rtw3v8RMbI+pCf5L0uaOWTm53XmLxWsHo8sia+yxG70s1yS/tUry9bZib337OIfpPhhUnA5KYXhs4AueKro6KULKCzl8y+54WokOu5go55QUqIuoidpbWQ30m+9JdE9wQHYIs36R+qZcixwjsUylLxU3eL/490YC+0yTo2P4ci00KEPKCKB7Xowow5ff7DIyyKCq8w1ClPkTozTpLN2WL9sz2s1XSkrCa9NgAwczc2rMAwj6ERk1LRiLgcMFZLSg= X-Forefront-PRVS: 02015246A9 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB6PR0701MB2710;23:nvDCBLBIgeKhRqfQio3i8iSlZKeVhoeR3GFhr5W?= =?us-ascii?Q?iBLm6NXqkbYOtfXlUc/vH4IhBd2dLBm97BMitTlUYtC+UrSHIrIyE8smxktL?= =?us-ascii?Q?6g7a+idN7kiWV/YkQ9Gdqgq5o+IrgtJH5zfvhOlJGvzaDz5/HVAV946cNvVk?= =?us-ascii?Q?8/tZduIVVEZVcP+OJsgOcQEHD3rvNNGjPcfp+KgI+zBuZvi5CQd2sPMUD/Qv?= =?us-ascii?Q?LMWBOe9Grk2hliXZOukdPvaAJ2oOp+b0ab6hOE7G0Z6sPb/hqsqH9k9F9udD?= =?us-ascii?Q?gJNqKBzJPI9sBIwF96YQIdXwyTRo2JJ7kOC0PkywbXUxxFQpSKnZbmehzAEj?= =?us-ascii?Q?VfEOEGg3dEhU5fEYQ/7i9338jJ/GMcG32RslGCnjva1jj0p86nB5rNgoZWmJ?= =?us-ascii?Q?soyzD5cQf8I9/DX5X4kZXnoClo9XQqura4UJKdBy7rwFVc9gboULWUuELAbT?= =?us-ascii?Q?thGagPE+RtFop5hz+DC+ZT6CG6vGFf9Fb1AIMeIb3TgYQegtTsc+EiC+y8Qd?= =?us-ascii?Q?lTs3VDWxrYh6IL2qtTx6vkXF5xKp5IsZhy3BbKITXaaxOw8rMNuChoofoLxG?= =?us-ascii?Q?MQe95YJbo/Vhnyq8hQodHWH4S/mvp7iCmzSek9VIEW1pMmt16R24JdL8046f?= =?us-ascii?Q?1kPAX/Xn5NedUY2MNjNUotzsYUrBLxvw1PJjKY57OVa1y6x907Ws34Z1wgnG?= =?us-ascii?Q?sOUdurzHhH3VIYBA5Wn3eyXuBiz+5bUdgWm3GJwrUrXdbHSEw0b+tEFgc/4B?= =?us-ascii?Q?DCuNtMXl3D2e7OQzMHdgtPwiy2B0/cMu9euuksTObEb6gXbQI15VpqAo2mnA?= =?us-ascii?Q?lHqNCCWl0nDm9wrf8pgGwXEv3VS4w6p0Sof9c8BVRVW2vOT2dzrcRJShMix6?= =?us-ascii?Q?fdLw2AD6Bjr2uT5t8B+GFcYWBy7d2cn0Yl0CI0ovd+kQodlNg0chWxGLR826?= =?us-ascii?Q?56slF5zBBqcwV8tsW2FvdMf9Q+RuCed1LbByQecaiXGbkwUCwlid6H/jHWFi?= =?us-ascii?Q?CdJbUn73Yi8n/MTF5dZ0y0C1Z352/qKtOg7jhVvPIXpNZESajzi1Y69zMf7x?= =?us-ascii?Q?6hC4R0KMyU56uz2aUkf5x0zzkO6b6wnQB4RzHBpG/iYrSpUGoUTHvslgbiuA?= =?us-ascii?Q?VvUYI+B91rAbxvW7INxQ2BWKJO38V8jUAbx+LwpMuHvq0PB9lQIGiGX8GTfI?= =?us-ascii?Q?A5/rJBhAXn1kBsW1h0/XfzPrGemC7PAkNYUhjBYLZXw2XOzsczvc25dJMyL/?= =?us-ascii?Q?pMKpxg9zXDkuDh0vbvqc=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0701MB2710;6:zid6Lg5SK1gbo8OO5ULvGzZf0ErNt+eDGzi2V8gHCA1+hWFVH5qD7nOAJmw/Yvbkiryj0LM8iw0RFkxNj4Vng0SChTPm9qRF8xDjqeaIdH7QzRIzBtVnATTiewPGdxL0MmdBLHJdXmtYRYJGJRnJTPGBEBQi76R0QqEaGZZbWKonbiHPxLGQMsHHTyQ/srLklvqaYV0lwDW2YK/aasxuWkJPTJdqi2sOIqCvqiFgW+7ExE1D9ItFTYN3HAoE7TQeWUKwiHDIhAnNeP+3I6RUzTvuEmN2YTc28DIY8qNgBx0m0OqmH2oQugB2D6gl56I4+vGDGh7qIZhkAjVGL7poKdLDgj5fLFTme60Eo4qeu485VKfhs8NDC4oxfOfa7uy96csfLt07sXE7DVgiZ68DrQrC5/cY3AFkt1h69nuDfFzGXgSb1so9QJiT+QhPYZVD;5:s6imeKML7g8/ZFrKdBdlGMS63aZzfGXoJAbAMlKSFIg7JSPZIOLwBuYarHTvB2TbmCe/giMzWAzLjd5C7P+1vsZ+FB95Cczy4Lp7zBaNmWSZcbdHRTcGwQVV1c19oBaHpsK4mojvyhISCip3uIsBRj5cAsdHEX7vGGPvQVuPH5o=;24:8aeMK4I7BNvRbaYAPWfHMHErAnoL2BR1rKqHLiqtoTI9XZ48JSBJJyuaj4mBkTZy7NeXVhjiGHEtpXrpANknCd0MfNppHRUWO17galk8sqo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB6PR0701MB2710;7:LpU2vxiSqoYwvXqSVWvv9BqtdOb40m3JW8202nFlNrgP7hwoxSOPRHylwQUTT+ZSu+MuJvWUpnYo8LEF4XJl1yRUXBTFnrFjfc2dIxaCXMVsevPVG62BWA0hbGrw2xUeuPAztNTSb042WaFuxAaDiJbMHQDMySXnbwPVq8ZFJVKb+MkvcgJ0rz1LIL7GKaqfBplb/9gMPGoH1M91+SZUUZaEg9ellV93XZzuawtedjj8Q4xksmp0raVFy5vUzPQdSRnlSqflfFMuq/tR3rqZXsYj/pG4rJvOje+cNGErdjOPUPZn8jwykIdRh4Xvxf1+WrgW+VA46UbBZ7lHOFRh6GQ3gxZ+dmWnphLnwzo8R4NtvjeCVqxc3O/noIFtyEt7JntHv3Drm6fh6jyanTEeNKdRYrDjEds4DLVa7CNhUjBQ4RUpZRSN8kZ5mnPQtIQhDWB3VIePXXAUlgcG4JOt6Q== X-OriginatorOrg: nokia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2017 14:01:43.5461 (UTC) X-MS-Exchange-CrossTenant-Id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5d471751-9675-428d-917b-70f44f9630b0;Ip=[131.228.2.36];Helo=[hybrid2.ext.net.nokia.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0701MB2710 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Clark add SCHED_RR tuning knob in commit ce0dbbbb30ae ("sched/rt: Add a tuning knob to allow changing SCHED_RR timeslice"). The tuning knob sched_rr_timeslice_ms gets user visible value in milliseconds, but it shows still in jiffies as it is stored. This inconsistence is confusing when HZ is not 1000, it seems like the value set failed, such as HZ=100: root# echo 100 > /proc/sys/kernel/sched_rr_timeslice_ms root# cat /proc/sys/kernel/sched_rr_timeslice_ms 10 This fix makes the sched_rr_timeslice shows in milliseconds. Signed-off-by: Shile Zhang --- include/linux/sched/sysctl.h | 1 + kernel/sched/core.c | 5 +++-- kernel/sched/rt.c | 1 + kernel/sysctl.c | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/include/linux/sched/sysctl.h b/include/linux/sched/sysctl.h index 4411453..49308e1 100644 --- a/include/linux/sched/sysctl.h +++ b/include/linux/sched/sysctl.h @@ -59,6 +59,7 @@ extern unsigned int sysctl_sched_cfs_bandwidth_slice; extern unsigned int sysctl_sched_autogroup_enabled; #endif +extern int sysctl_sched_rr_timeslice; extern int sched_rr_timeslice; extern int sched_rr_handler(struct ctl_table *table, int write, diff --git a/kernel/sched/core.c b/kernel/sched/core.c index c56fb57..9297563 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -8369,8 +8369,9 @@ int sched_rr_handler(struct ctl_table *table, int write, /* make sure that internally we keep jiffies */ /* also, writing zero resets timeslice to default */ if (!ret && write) { - sched_rr_timeslice = sched_rr_timeslice <= 0 ? - RR_TIMESLICE : msecs_to_jiffies(sched_rr_timeslice); + sched_rr_timeslice = + sysctl_sched_rr_timeslice <= 0 ? RR_TIMESLICE : + msecs_to_jiffies(sysctl_sched_rr_timeslice); } mutex_unlock(&mutex); return ret; diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c index 2516b8d..8737a0e 100644 --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c @@ -9,6 +9,7 @@ #include int sched_rr_timeslice = RR_TIMESLICE; +int sysctl_sched_rr_timeslice = (MSEC_PER_SEC / HZ) * RR_TIMESLICE; static int do_sched_rt_period_timer(struct rt_bandwidth *rt_b, int overrun); diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 8dbaec0..9a90097 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -416,7 +416,7 @@ static struct ctl_table kern_table[] = { }, { .procname = "sched_rr_timeslice_ms", - .data = &sched_rr_timeslice, + .data = &sysctl_sched_rr_timeslice, .maxlen = sizeof(int), .mode = 0644, .proc_handler = sched_rr_handler, -- 2.6.2