From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030461AbXDJHVB (ORCPT ); Tue, 10 Apr 2007 03:21:01 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1030463AbXDJHVB (ORCPT ); Tue, 10 Apr 2007 03:21:01 -0400 Received: from fgwnews.fujitsu.co.jp ([164.71.1.134]:39102 "EHLO fgwnews.fujitsu.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1030461AbXDJHVA (ORCPT ); Tue, 10 Apr 2007 03:21:00 -0400 Date: Tue, 10 Apr 2007 16:18:21 +0900 Message-ID: <87slb8y9xe.wl%takeuchi_satoru@jp.fujitsu.com> From: Satoru Takeuchi To: Mike Galbraith Cc: Andrew Morton , Satoru Takeuchi , Ingo Molnar , Linux Kernel , Con Kolivas Subject: Re: [BUG] scheduler: first timeslice of the exiting thread In-Reply-To: <1176101450.6355.144.camel@Homer.simpson.net> References: <877isozllw.wl%takeuchi_satoru@jp.fujitsu.com> <20070408230927.9a49c504.akpm@linux-foundation.org> <1176101450.6355.144.camel@Homer.simpson.net> User-Agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (=?ISO-8859-4?Q?Shij=F2?=) APEL/10.6 Emacs/21.4 (i486-pc-linux-gnu) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org > > This comes at an awkward time, because we might well merge the > > staircase/deadline work into 2.6.22, and I think it rewrites the part of > > the scheduler which is causing the problems you're observing. > > > > Has anyone verified that SD fixes this problem and the one at > > http://lkml.org/lkml/2007/4/7/21 ? > > Not verified either way in testing, but I believe this should be a > problem for SD as well because timeslice fork/exit handling is identical > with mainline. Individual slices are much smaller than mainline, so > priority should drop rapidly, consuming bandwidth allotted for the > current rotation, sending the creator off to the expired array > prematurely. > > -Mike > Yes, this probelm also occurs on the SD. Here is the 2.6.21-rc6-mm1's trace. Process model: fork: pid = 12431, tgid = 12431, ppid = 2737, time_slice = 8000000 exit: pid = 12431, tgid = 12431, ppid = 12430, time_slice = 3842675 fork: pid = 12432, tgid = 12432, ppid = 2737, time_slice = 6175786 exit: pid = 12432, tgid = 12432, ppid = 12430, time_slice = 2948968 fork: pid = 12433, tgid = 12433, ppid = 2737, time_slice = 5862607 exit: pid = 12433, tgid = 12433, ppid = 12430, time_slice = 2793696 fork: pid = 12434, tgid = 12434, ppid = 2737, time_slice = 5515983 exit: pid = 12434, tgid = 12434, ppid = 12430, time_slice = 2583218 fork: pid = 12435, tgid = 12435, ppid = 2737, time_slice = 5174253 exit: pid = 12435, tgid = 12435, ppid = 12430, time_slice = 2421119 fork: pid = 12436, tgid = 12436, ppid = 2737, time_slice = 4433521 exit: pid = 12436, tgid = 12436, ppid = 12430, time_slice = 2068271 fork: pid = 12437, tgid = 12437, ppid = 2737, time_slice = 4115828 exit: pid = 12437, tgid = 12437, ppid = 12430, time_slice = 1906364 fork: pid = 12438, tgid = 12438, ppid = 2737, time_slice = 3817721 exit: pid = 12438, tgid = 12438, ppid = 12430, time_slice = 1763586 fork: pid = 12439, tgid = 12439, ppid = 2737, time_slice = 3523880 exit: pid = 12439, tgid = 12439, ppid = 12430, time_slice = 1621289 fork: pid = 12440, tgid = 12440, ppid = 2737, time_slice = 2856168 exit: pid = 12440, tgid = 12440, ppid = 12430, time_slice = 1269502 exit: pid = 12430, tgid = 12430, ppid = 2737, time_slice = 2434379 Thread model: fork: pid = 12554, tgid = 12553, ppid = 2737, time_slice = 2841904 exit: pid = 12554, tgid = 12553, ppid = 2737, time_slice = 1420952 fork: pid = 12555, tgid = 12553, ppid = 2737, time_slice = 29977 exit: pid = 12555, tgid = 12553, ppid = 2737, time_slice = 14988 fork: pid = 12556, tgid = 12553, ppid = 2737, time_slice = 8000000 exit: pid = 12556, tgid = 12553, ppid = 2737, time_slice = 4000000 fork: pid = 12557, tgid = 12553, ppid = 2737, time_slice = 3976416 exit: pid = 12557, tgid = 12553, ppid = 2737, time_slice = 1988208 fork: pid = 12558, tgid = 12553, ppid = 2737, time_slice = 1965192 exit: pid = 12558, tgid = 12553, ppid = 2737, time_slice = 982596 fork: pid = 12559, tgid = 12553, ppid = 2737, time_slice = 955481 exit: pid = 12559, tgid = 12553, ppid = 2737, time_slice = 477740 fork: pid = 12560, tgid = 12553, ppid = 2737, time_slice = 453317 exit: pid = 12560, tgid = 12553, ppid = 2737, time_slice = 226658 fork: pid = 12561, tgid = 12553, ppid = 2737, time_slice = 203189 exit: pid = 12561, tgid = 12553, ppid = 2737, time_slice = 101594 fork: pid = 12562, tgid = 12553, ppid = 2737, time_slice = 76756 exit: pid = 12562, tgid = 12553, ppid = 2737, time_slice = 38378 fork: pid = 12563, tgid = 12553, ppid = 2737, time_slice = 15096 exit: pid = 12563, tgid = 12553, ppid = 2737, time_slice = 7548 exit: pid = 12553, tgid = 12553, ppid = 2737, time_slice = 7851311 NOTE: Nanosecond is the unit of time_slice on SD, so the time_slice value is very differ from the current scheduler's one. Satoru