smartsched: Tweak the default scheduler intervals
A default timeslice of 20ms means a pathological client can ruin up to two frames per scheduler tick. And a fifth of a second is just insane. Pick two different numbers out of the hat. A 5ms slice means you can probably keep up with two or three abusive clients, and letting it burst to 15ms should give you about all the timeslice you need for a fullscreen game (that's doing server-side rendering for some reason). If you're running on a system with a 10ms granularity on SIGALRM, then this effectively changes the intervals to 10ms and 30ms. Which is still better, just not as better. I suspect this is about as good as we can do without actually going preemptive, which is an entire other nightmare. Reviewed-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
66310ea289
commit
b61ccd5d9d
|
@ -220,8 +220,9 @@ UpdateCurrentTimeIf(void)
|
|||
|
||||
#undef SMART_DEBUG
|
||||
|
||||
#define SMART_SCHEDULE_DEFAULT_INTERVAL 20 /* ms */
|
||||
#define SMART_SCHEDULE_MAX_SLICE 200 /* ms */
|
||||
/* in milliseconds */
|
||||
#define SMART_SCHEDULE_DEFAULT_INTERVAL 5
|
||||
#define SMART_SCHEDULE_MAX_SLICE 15
|
||||
|
||||
#if defined(WIN32) && !defined(__CYGWIN__)
|
||||
Bool SmartScheduleDisable = TRUE;
|
||||
|
|
Loading…
Reference in New Issue