aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.3.0.0/scheduler.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.3.0.0/scheduler.patch')
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.3.0.0/scheduler.patch151
1 files changed, 0 insertions, 151 deletions
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.3.0.0/scheduler.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.3.0.0/scheduler.patch
deleted file mode 100644
index 395bc7d511..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.3.0.0/scheduler.patch
+++ /dev/null
@@ -1,151 +0,0 @@
->From 48e4d08e99de41047c6b6fde5ba9d12787881c23 Mon Sep 17 00:00:00 2001
-From: root <root@benny.jf.intel.com>
-Date: Sun, 28 Oct 2007 09:37:52 +0100
-Subject: [PATCH] The smart scheduler itimer currently always fires after each request
- (which in turn causes the CPU to wake out of idle, burning precious power).
- Rather than doing this, just stop the timer before going into the select()
- portion of the WaitFor loop. It's a cheap system call, and it will only get
- called if there's no more commands batched up from the active fd.
-
-This change also allows some of the functions to be simplified; setitimer()
-will only fail if it's passed invalid data, and we don't do that... so make
-it void and remove all the conditional code that deals with failure.
-
-The change also allows us to remove a few variables that were used for
-housekeeping between the signal handler and the main loop.
----
- include/dixstruct.h | 6 ++----
- os/WaitFor.c | 11 +++--------
- os/utils.c | 28 +++-------------------------
- 3 files changed, 8 insertions(+), 37 deletions(-)
-
-diff --git a/include/dixstruct.h b/include/dixstruct.h
-index dd6347f..bed31dc 100644
---- a/include/dixstruct.h
-+++ b/include/dixstruct.h
-@@ -150,11 +150,9 @@ extern long SmartScheduleTime;
- extern long SmartScheduleInterval;
- extern long SmartScheduleSlice;
- extern long SmartScheduleMaxSlice;
--extern unsigned long SmartScheduleIdleCount;
- extern Bool SmartScheduleDisable;
--extern Bool SmartScheduleIdle;
--extern Bool SmartScheduleTimerStopped;
--extern Bool SmartScheduleStartTimer(void);
-+extern void SmartScheduleStartTimer(void);
-+extern void SmartScheduleStopTimer(void);
- #define SMART_MAX_PRIORITY (20)
- #define SMART_MIN_PRIORITY (-20)
-
-diff --git a/os/WaitFor.c b/os/WaitFor.c
-index ec1592c..7683477 100644
---- a/os/WaitFor.c
-+++ b/os/WaitFor.c
-@@ -217,7 +217,8 @@ WaitForSomething(int *pClientsReady)
- XFD_COPYSET(&AllSockets, &LastSelectMask);
- #ifdef SMART_SCHEDULE
- }
-- SmartScheduleIdle = TRUE;
-+ SmartScheduleStopTimer ();
-+
- #endif
- BlockHandler((pointer)&wt, (pointer)&LastSelectMask);
- if (NewOutputPending)
-@@ -237,13 +238,7 @@ WaitForSomething(int *pClientsReady)
- selecterr = GetErrno();
- WakeupHandler(i, (pointer)&LastSelectMask);
- #ifdef SMART_SCHEDULE
-- if (i >= 0)
-- {
-- SmartScheduleIdle = FALSE;
-- SmartScheduleIdleCount = 0;
-- if (SmartScheduleTimerStopped)
-- (void) SmartScheduleStartTimer ();
-- }
-+ SmartScheduleStartTimer ();
- #endif
- if (i <= 0) /* An error or timeout occurred */
- {
-diff --git a/os/utils.c b/os/utils.c
-index 31cb0af..6fc1f7d 100644
---- a/os/utils.c
-+++ b/os/utils.c
-@@ -1513,10 +1513,6 @@ XNFstrdup(const char *s)
-
- #ifdef SMART_SCHEDULE
-
--unsigned long SmartScheduleIdleCount;
--Bool SmartScheduleIdle;
--Bool SmartScheduleTimerStopped;
--
- #ifdef SIGVTALRM
- #define SMART_SCHEDULE_POSSIBLE
- #endif
-@@ -1526,7 +1522,7 @@ Bool SmartScheduleTimerStopped;
- #define SMART_SCHEDULE_TIMER ITIMER_REAL
- #endif
-
--static void
-+void
- SmartScheduleStopTimer (void)
- {
- #ifdef SMART_SCHEDULE_POSSIBLE
-@@ -1537,38 +1533,28 @@ SmartScheduleStopTimer (void)
- timer.it_value.tv_sec = 0;
- timer.it_value.tv_usec = 0;
- (void) setitimer (ITIMER_REAL, &timer, 0);
-- SmartScheduleTimerStopped = TRUE;
- #endif
- }
-
--Bool
-+void
- SmartScheduleStartTimer (void)
- {
- #ifdef SMART_SCHEDULE_POSSIBLE
- struct itimerval timer;
-
-- SmartScheduleTimerStopped = FALSE;
- timer.it_interval.tv_sec = 0;
- timer.it_interval.tv_usec = SmartScheduleInterval * 1000;
- timer.it_value.tv_sec = 0;
- timer.it_value.tv_usec = SmartScheduleInterval * 1000;
-- return setitimer (ITIMER_REAL, &timer, 0) >= 0;
-+ setitimer (ITIMER_REAL, &timer, 0);
- #endif
-- return FALSE;
- }
-
- #ifdef SMART_SCHEDULE_POSSIBLE
- static void
- SmartScheduleTimer (int sig)
- {
-- int olderrno = errno;
--
- SmartScheduleTime += SmartScheduleInterval;
-- if (SmartScheduleIdle)
-- {
-- SmartScheduleStopTimer ();
-- }
-- errno = olderrno;
- }
- #endif
-
-@@ -1592,14 +1578,6 @@ SmartScheduleInit (void)
- perror ("sigaction for smart scheduler");
- return FALSE;
- }
-- /* Set up the virtual timer */
-- if (!SmartScheduleStartTimer ())
-- {
-- perror ("scheduling timer");
-- return FALSE;
-- }
-- /* stop the timer and wait for WaitForSomething to start it */
-- SmartScheduleStopTimer ();
- return TRUE;
- #else
- return FALSE;
---
-1.5.3.4
-