The body of a message to majordomo info at To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to > More majordomo info at > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > I should be able to do this by the end of the day today. Unaccounted time is a debug feature which works only with queue depthġ, so even if there are little issues with jiffies, you can sort that Out of sync and that can lead to further bad effects. I think fixing this is important otherwise it gets serving_group also > still make that change immediately so that the active queue isn't set, at > wonder if now we'll have a stale value of jiffies. The reason I did not do this immediately was because I started to > - do not set active queue in preempt_queue() > that will only clear the stats for the cfqq. I will send out another version of the patch > and we shoud not be setting active queue here. > group first then workload with-in group and then queue with-in workload > So queue selection logic should be driven by select_queue() which > the root group's sync queue for dispatch. > async in root group but it might happen that we still select again For example a sync queue in one group can preempt the > change it and new queue selection will also take place in > So far a new queue selection was always in select_queue(). > -3314,9 +3321,7 static void cfq_preempt_queue(struct cfq_data > CFQ which are useful only when using queue depth 1 as that might not be > So personally I am not very keen on keep on increasing number of stats > eventually, but having it separate right now helps build confidence in > We could probably put the data collected here back into "time" > being that in general nobody forced the queue depth of 1 hence most of > not encountered anybody else using these either. > There are already so many stats which I have never used so far and I > impacted by the requests dumped by other queues. Now new queue's first request completion time is also > Otherwise previous queue might have dumped bunch of requests in device > these are useful only if one is driving a queue depth of 1. > I would say that for such optimization do make sure that you mention > that is probably a separate discussion. > I think it would be good to have this reported in 'time' as well, but > of these exported as a new unaccounted_time stat. > seek and the extra time slice used over the allocated timeslice. > There are two kind of times that tasks are not charged for: the first > On Tue, at 10:33 AM, Vivek Goyal wrote: On Tue, at 10:36:25AM -0700, Justin TerAvest wrote: Next in thread: Justin TerAvest: "Re: Add unaccounted time to timeslice_used.".In reply to: Vivek Goyal: "Re: Add unaccounted time to timeslice_used.".Previous message: Borislav Petkov: " sched, doc: Update sched-design-CFS.txt".Next message: Justin TerAvest: "Re: Add unaccounted time to timeslice_used.".Re: Add unaccounted time to timeslice_used. 2805 static void _sched _schedule(void)Ģ871 next->_start_ts = (next->_ts).tv_sec * 1000 + (next->_ts).Linux-Kernel Archive: Re: Add unaccounted time to timeslice_used. We also need to add some other source codes before context switch in core.c like following. In above source codes, ‘enable_flag’ controls whether to output the timeslice and ‘enable_pid’ controls which process’s timeslice to be outputed, which can be controled in userspace (“/sys/module/core/parameters/enable_flag” and “/sys/module/core/parameters/enable_pid”) by users/developers. The way to export them in ‘linux-3.16.39/kernel/sched/core.c’ is as follows. Firstly, you need to export two flags from Linux kernel so that you can control them to output which process’s (PID) timeslice.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |