This repository has been archived on 2026-03-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
ubports_kernel_google_msm/include/linux
Jon Hunter 97813f2fe7 nohz: Allow 32-bit machines to sleep for more than 2.15 seconds
In the dynamic tick code, "max_delta_ns" (member of the
"clock_event_device" structure) represents the maximum sleep time
that can occur between timer events in nanoseconds.

The variable, "max_delta_ns", is defined as an unsigned long
which is a 32-bit integer for 32-bit machines and a 64-bit
integer for 64-bit machines (if -m64 option is used for gcc).
The value of max_delta_ns is set by calling the function
"clockevent_delta2ns()" which returns a maximum value of LONG_MAX.
For a 32-bit machine LONG_MAX is equal to 0x7fffffff and in
nanoseconds this equates to ~2.15 seconds. Hence, the maximum
sleep time for a 32-bit machine is ~2.15 seconds, where as for
a 64-bit machine it will be many years.

This patch changes the type of max_delta_ns to be "u64" instead of
"unsigned long" so that this variable is a 64-bit type for both 32-bit
and 64-bit machines. It also changes the maximum value returned by
clockevent_delta2ns() to KTIME_MAX.  Hence this allows a 32-bit
machine to sleep for longer than ~2.15 seconds. Please note that this
patch also changes "min_delta_ns" to be "u64" too and although this is
unnecessary, it makes the patch simpler as it avoids to fixup all
callers of clockevent_delta2ns().

[ tglx: changed "unsigned long long" to u64 as we use this data type
  	through out the time code ]

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Cc: John Stultz <johnstul@us.ibm.com>
LKML-Reference: <1250617512-23567-3-git-send-email-jon-hunter@ti.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2009-11-13 20:46:24 +01:00
..
2009-09-23 07:39:29 -07:00
2009-06-18 08:46:47 +10:00
2009-09-09 11:19:00 -04:00
2009-09-19 02:14:45 -04:00
2009-06-17 00:36:36 -04:00
2009-01-30 23:38:03 +05:30
2009-09-20 16:09:20 +05:30
2009-09-08 17:42:50 -07:00
2009-01-30 23:38:37 +05:30
2009-04-01 08:59:23 -07:00
2009-01-30 23:39:42 +05:30
2009-06-01 06:21:13 +00:00
2009-01-30 23:40:06 +05:30
2009-04-23 10:06:35 +01:00
2009-01-04 13:33:20 -08:00
2009-06-11 21:36:09 -04:00
2009-01-30 23:44:08 +05:30
2009-07-12 12:22:34 -07:00
2008-12-25 11:01:43 +11:00
2009-09-23 11:01:25 -07:00
2009-07-14 20:29:57 +08:00
2009-06-11 21:36:06 -04:00
2009-09-18 09:48:52 -07:00
2009-06-22 10:12:30 +01:00
2009-05-18 14:46:26 +01:00
2009-01-30 23:46:03 +05:30
2009-04-03 14:53:32 -07:00
2009-09-14 17:41:42 -07:00
2009-01-30 23:46:40 +05:30
2009-06-17 09:33:49 -07:00
2009-01-30 23:48:33 +05:30
2009-07-08 09:18:05 -07:00
2009-03-16 08:32:27 -06:00
2009-06-24 08:17:04 -04:00
2008-12-29 11:27:46 +02:00
2009-09-12 14:48:40 +02:00
2009-06-15 21:30:25 -07:00
2009-10-01 16:11:11 -07:00
2009-06-18 13:04:05 -07:00
2009-09-01 01:13:31 -07:00
2009-01-30 23:51:17 +05:30
2009-09-18 22:45:43 +02:00
2009-09-01 17:52:57 -07:00
2009-04-02 19:04:53 -07:00
2009-09-11 12:54:58 -07:00
2009-08-19 23:08:24 +04:00
2009-07-26 19:25:44 -07:00
2009-01-30 23:53:12 +05:30
2009-01-30 23:53:40 +05:30
2009-01-30 23:54:53 +05:30
2009-01-30 23:55:45 +05:30
2009-01-30 23:56:13 +05:30
2009-01-30 23:56:48 +05:30
2009-06-29 08:59:10 +10:00
2009-02-02 21:40:58 +05:30
2009-06-02 00:45:24 -07:00
2009-08-21 15:30:12 -07:00
2009-07-31 08:55:48 +02:00
2009-09-23 07:39:41 -07:00
2009-06-18 13:03:56 -07:00
2009-09-26 10:17:19 -07:00
2009-04-21 13:41:48 -07:00
2009-04-21 13:41:48 -07:00
2009-01-30 23:59:44 +05:30
2009-01-31 00:00:06 +05:30
2009-08-29 15:53:00 +02:00
2009-09-30 00:32:06 -04:00
2009-09-23 07:39:58 -07:00
2009-01-05 08:40:30 -08:00
2009-09-10 10:46:47 +03:00
2009-09-19 13:13:17 -07:00
2009-09-26 10:17:19 -07:00
2009-09-22 07:17:33 -07:00
2009-09-18 21:22:08 +02:00
2009-04-06 16:06:26 +01:00
2009-06-23 20:21:39 +01:00
2009-07-30 16:03:45 +09:30
2009-04-28 07:37:28 +02:00
2009-06-16 19:47:48 -07:00
2009-09-23 07:39:41 -07:00
2009-09-22 07:17:35 -07:00
2009-06-16 08:40:20 +02:00
2009-04-29 17:32:35 -07:00
2009-01-31 00:00:35 +05:30
2009-07-08 09:31:56 -07:00
2009-06-11 21:36:02 -04:00
2009-01-31 00:01:11 +05:30
2009-03-20 10:48:14 -07:00
2009-09-21 15:14:51 +02:00
2009-06-17 18:02:11 -07:00
2009-06-17 18:02:11 -07:00
2009-09-26 10:17:19 -07:00
2009-06-17 12:24:34 -07:00
2009-06-17 18:02:11 -07:00
2009-03-10 20:33:18 -04:00
2009-06-15 21:44:43 -07:00
2008-12-21 14:21:14 +11:00
2009-04-01 08:59:13 -07:00
2009-04-01 08:59:13 -07:00
2009-01-08 08:31:12 -08:00
2009-01-31 00:03:40 +05:30
2009-04-24 08:54:21 +02:00
2009-09-22 07:17:47 -07:00
2009-03-13 16:09:12 -07:00
2009-06-18 13:04:04 -07:00
2009-07-29 19:10:36 -07:00
2009-09-23 07:39:41 -07:00
2009-03-30 15:22:01 +02:00
2009-06-11 21:36:12 -04:00
2009-03-26 02:18:35 +01:00
2009-01-31 00:05:59 +05:30
2009-09-19 08:53:22 +02:00
2009-09-19 08:53:22 +02:00
2009-08-23 19:13:02 -07:00
2009-06-24 08:17:06 -04:00
2009-09-01 12:48:21 -04:00
2009-05-09 10:49:41 -04:00
2009-04-01 08:59:24 -07:00
2009-04-08 14:33:38 -07:00
2009-08-28 19:57:30 -04:00
2009-04-13 15:04:29 -07:00
2009-01-31 00:06:33 +05:30
2009-06-15 15:50:49 +02:00
2009-04-21 19:40:00 -07:00
2009-04-27 02:45:02 -07:00
2009-03-27 12:18:56 -04:00
2009-01-31 00:07:00 +05:30
2009-08-31 18:08:51 +02:00
2009-05-12 11:11:48 +02:00
2009-04-02 19:05:01 -07:00
2009-07-06 13:57:03 -07:00
2009-09-02 01:03:43 -07:00
2009-11-13 20:46:24 +01:00
2009-08-30 22:26:34 +02:00
2009-02-18 15:37:53 -08:00
2009-02-03 11:23:12 +11:00
2009-09-23 06:46:23 -07:00
2009-09-23 18:13:10 -07:00
2009-08-26 12:39:29 +01:00
2009-09-23 22:26:32 +09:30
2009-09-23 22:26:32 +09:30
2009-09-23 22:26:32 +09:30
2009-09-23 22:26:32 +09:30
2009-09-23 22:26:32 +09:30
2009-09-23 22:26:32 +09:30
2009-09-22 07:17:30 -07:00
2009-09-19 13:13:25 -07:00
2009-09-19 13:13:26 -07:00
2009-09-15 16:51:30 +02:00
2009-09-21 15:14:53 +02:00