Gregory Nutt
f914ec6e2b
tools/nxstyle.c: Fix logic that detects if an operator is correctly delimited with spaces. sched/: Various changes because sched/ C files were used as Guinea Pigs to test nstyle.c.
2019-03-01 10:50:02 -06:00
Xiang Xiao
f337cc1380
sched/clock/ timekeeping: Use clock_basetime() to initialize g_clock_wall_time to get the best initial RTC value and initialize g_clock_last_counter too since the hardware may not start counting from zero.
2018-11-12 07:00:41 -06:00
Xiang Xiao
2bc709d4b9
sched/clock/clock_initialize.c: clock_inittime() needs to be done with CONFIG_SCHED_TICKLESS and clock_initialize should skip clock_inittime() for external RTC case since the RTC isn't ready yet.
2018-11-12 06:55:53 -06:00
Xiang Xiao
f0c5c75042
sched/clock/: Don't call up_timer_gettime in clock_gettime and clock_systimer to ensure the return value from them consistent with clock_systimespec
2018-11-12 06:52:56 -06:00
Xiang Xiao
46bd8798c5
ched/clock/: Remove g_monotonic_basetime and g_clock_monotonic_time since we don't need ensure monotonic time start from zero as state here: http://pubs.opengroup.org/onlinepubs/009696899/functions/clock_getres.html
2018-11-12 06:50:37 -06:00
Xiang Xiao
1ef2602933
sched/clock/clock_getres.c: Support CLOCK_MONOTONIC
2018-11-12 06:42:38 -06:00
Xiang Xiao
71ad1993f2
Move clock_timespec_[add|subtract] to include/nuttx/clock.h
2018-08-27 06:04:04 -06:00
Gregory Nutt
8fca244f36
syscall: clock_systimer() is no longer a system call. It has been replaced with the equivalent, standard interface clock() as the system call.
...
sched/clock: Move the implementation of clock() from libs/libc/time to sched/clock. This is necessary because it calls the (now) internal OS function clock_systimer. clock() is now accessed only via a system call in certain configuratins.
libs/libc/wqueue: Replace calls to clock_systimer() with calls to the equivalent clock().
2018-06-16 12:50:28 -06:00
Gregory Nutt
8fdbb1e0a4
Elimate use of the non-standard type systime_t and replace it the equivalent, standard type clock_t
...
Squashed commit of the following:
sched: Rename all use of system_t to clock_t.
syscall: Rename all use of system_t to clock_t.
net: Rename all use of system_t to clock_t.
libs: Rename all use of system_t to clock_t.
fs: Rename all use of system_t to clock_t.
drivers: Rename all use of system_t to clock_t.
arch: Rename all use of system_t to clock_t.
include: Remove definition of systime_t; rename all use of system_t to clock_t.
2018-06-16 12:16:13 -06:00
Gregory Nutt
06e7533bb0
Update some comments.
2018-03-14 08:17:50 -06:00
Gregory Nutt
b54ffe858a
Standardization of some function headers.
2018-03-13 09:52:27 -06:00
Gregory Nutt
e6e7dae05b
sched/clock: Fix a recently introduced name collision
2018-03-12 13:36:06 -06:00
Masayuki Ishikawa
7062ca2c03
Merged in masayuki2009/nuttx.nuttx/lc823450_smp_test (pull request #601 )
...
lc823450 smp test
* sched/clock: Replace critical section APIs with spin lock APIs in clock_gettime.c
This change will improve performance for SMP systems but nothing
changes for non-SMP systems. (Pls see include/nuttx/irq.h)
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
* sched/sched: Remove unnecessary DEBUGASSERT in sched_removereadytorun.c
In SMP mode, rtrtcb is not always at the g_readytorun.head.
This change removes DEBUGASSERT() to avoid this condition.
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-02-15 14:18:25 +00:00
Gregory Nutt
7cf88d7dbd
Make sure that labeling is used consistently in all function headers.
2018-02-01 10:00:02 -06:00
Gregory Nutt
e238c8b090
sched/clock/clock_systimer.c: Change the way that the 64-bit time is sampled. Previously, we disabled interrupts before sampling the 64-bit timer since the uint64_t access is not atomic on most CPUs. However, disabling (local) interrupts does not work in the SMP case. In that case, the timer interrupt will be running on only one of the CPUs; disabling interrupts on a different CPU will provide no protection from timer rollover. To work around this, logic was added that samples 64-bit timer is sampled twice and if 32-bit rollover was detected between samples, then loops until there is no rollover.
2018-01-15 11:05:45 -06:00
Masayuki Ishikawa
0ecef4dbcb
clock_systimer: Replace critical section APIs with spinlock APIs. (64bit only)
...
If SMP=n or SMP=y && SPINLOCK_IRQ=n, this works in the same way as before.
If SMP=y && SPINLOCK_IRQ=y, performance will be improved.
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2018-01-15 15:08:11 +09:00
Juha Niskanen
cc7af2b0d0
procfs: Fix uptime being close to maximum 32-bit value in certain config
2017-11-10 09:01:39 -06:00
Arjun Hary
b274a97840
Miscellaneous fixes from astyle tool.
2017-08-14 17:19:27 -06:00
Jussi Kivilinna
e835803166
yslog: use monotonic clock for timestamp when available
2017-04-26 10:38:15 -06:00
Jussi Kivilinna
33ddaa0b10
clock: add testing for 32-bit overflow of 64-bit system timer
2017-04-21 08:55:07 -06:00
Jussi Kivilinna
c57d49f420
clock: Add new type ssystime_t for relative 64-bit ticks, change ticks<->time conversion functions to use ssystime_t
2017-04-21 08:51:31 -06:00
Jussi Kivilinna
325ba1a803
clock: add clock_resynchronize and use subseconds RTC
...
Add clock_resynchronize for better synchronization of CLOCK_REALTIME and CLOCK_MONOTONIC to match RTC after resume from low-power state.
Add up_rtc_getdatetime_with_subseconds under CONFIG_ARCH_HAVE_RTC_SUBSECONDS to allow initializing (and resynchronizing) system clock with subseconds accuracy RTC.
2017-04-21 08:45:57 -06:00
Rajan Gill
0d8e191d69
sched/clock: Correct calculation for the case of Tickless mode with a 32-bit timer. In that case, the calculation was returning millisecond accuracy. That is not good when the timer accuracy is < 1 msec.
2016-11-19 09:55:21 -06:00
Gregory Nutt
123c520db4
Correct time initialization for the case where time is initialized from settings in the .config file. The correct range for month (tm_mon) internally is 0-11, not 1-12 as it is in the .config file.
2016-10-27 08:36:24 -06:00
Gregory Nutt
3404b3cb4a
sched/: Review and correct some stylistic inconsistencies
2016-08-07 08:32:11 -06:00
Gregory Nutt
18ce4ff57b
sched/: Review and correct some stylistic inconsistencies
2016-08-07 08:25:30 -06:00
Gregory Nutt
94d34bba47
Fix a typo in a Make.defs file
2016-07-28 09:46:28 -06:00
Gregory Nutt
246773faa7
Rename CONFIG_SCHED_TIMEKEEPING to CONFIG_CLOCK_TIMEKEEPING. That is a better compartmentalized name.
2016-07-11 06:54:02 -06:00
Gregory Nutt
f47b69e1f0
Add support for adjtime system call
2016-07-10 16:55:32 -06:00
Gregory Nutt
c326b6320a
Add description of adjtime() from Linux man page
2016-07-10 16:47:06 -06:00
Max Neklyudov
8db29071da
timekeeping: initial implementation
2016-07-10 16:14:25 -06:00
Gregory Nutt
13cac3b592
sched/: Change some *err() message to *info() messages if what was a *dbg() message does not indicate and error condition.
2016-06-11 16:42:42 -06:00
Gregory Nutt
a1469a3e95
Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err()
2016-06-11 15:50:49 -06:00
Gregory Nutt
720343612b
Remove some empty file section section header comments
2016-02-17 18:05:03 -06:00
Gregory Nutt
6e3107650d
nuttx/sched: Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section()
2016-02-14 08:17:46 -06:00
Gregory Nutt
84d4cb007b
clock_systimer: 64-bit timer accesses are not atomic. Noted by Freddie Chopin.
2016-01-22 12:24:36 -06:00
Gregory Nutt
2de5be34e5
Update ChangeLog
2016-01-21 19:29:43 -06:00
Gregory Nutt
032ad1b70b
Remove clock_systimer32 and clock_systimer64. There is now only clock_systimer
2016-01-21 16:49:24 -06:00
Gregory Nutt
b04e2ea021
Trivial improvement to comments
2016-01-21 16:28:36 -06:00
Gregory Nutt
a4f5254cbe
Fix a typo introduced into the last commit
2016-01-21 13:48:35 -06:00
Gregory Nutt
e001f37593
sched/clock/clock_timespec.c: Fix an error in the time conversion
2016-01-21 13:31:00 -06:00
Gregory Nutt
f348e68069
Update to use 64-bit timer when available
2016-01-21 11:54:26 -06:00
Gregory Nutt
a2e1ece873
RTC: Handle RTC failures. If mktime is called with garbage, it may crash
2015-12-21 14:39:40 -06:00
Gregory Nutt
4b29bcee7f
Rename up_rtcinitialize to up_rtc_initialize so that it looks like other RTC interfaces
2015-11-20 08:27:52 -06:00
Gregory Nutt
892ba4f26a
DS1307: Change year bias to 1968 which is a leap year juse like 2000
2015-11-19 15:12:40 -06:00
Gregory Nutt
c34b5108a7
RTC: Fix system time initialization when using an exernal RTC. Fix some bugs in the DS1307/DS3231 RTC driver
2015-11-19 14:54:30 -06:00
Lok
da8950fe5b
Fix an error in clock_timespec_subtract
2015-11-03 07:28:46 -06:00
Gregory Nutt
79d554939e
sched/: Fix some spacing issues
2015-10-07 19:59:14 -06:00
Gregory Nutt
5b51a9fcdd
Standardize the width of all comment boxes in C files
2015-10-02 17:43:18 -06:00
Gregory Nutt
cb9e27c3b0
Standardize naming used for public data and function groupings
2015-10-02 16:30:35 -06:00