#
73bd065d |
|
19-Sep-2018 |
Nick Maniscalco <maniscalco@google.com> |
[kernel][timer][test] Don't assert trylock result to eliminate test flake I was overzealous with my test assertions in Ie46d329d59cf00ed8d8d4e9c51b80fd4b7c6a517. While unlikely, the timer could certainly observe the cancel before the lock release so we can't assert on the result of trylock_or_cancel. Test: "k ut timer" in a loop on VIM2 for several mins, no failures Change-Id: I2f6c6e8a3fc39a024229676167cc55b84cf2df89
|
#
f49420da |
|
17-Sep-2018 |
Nick Maniscalco <maniscalco@google.com> |
[kernel][timer][test] Add stress test for kernel timers Add a simple timer stress test that reproduces the system hang observed in ZX-2562. Prior to I9cc79d6c00dc5eaf574c0dc51dbf030158cdadfb, this test immediately triggers a system hang on VIM2. After the change, no hang. Example output: $ k timer_stress not enough args usage: timer_stress <num seconds> $ k timer_stress 1 running for 1 seconds timer stress done; timer set 21759, timer fired 21645 $ k timer_stress 2 running for 2 seconds timer stress done; timer set 35657, timer fired 35469 Test: ran "k timer_stress 60", observed no hangs ZX-2562 #comment add repro stress test Change-Id: I003004f1d4fc37585465fb2bb37431bf98471501
|
#
11e1c88e |
|
17-Sep-2018 |
Nick Maniscalco <maniscalco@google.com> |
[kernel][timer] Add timer unit tests and rename timer_tests command Add some basic unit tests for kernel timers. Rename "k timer_tests" to "k timer_diag" so someone doesn't mistake it for unit tests. Test: ran "k timer_diag"; ran "k ut timer" Change-Id: Ie46d329d59cf00ed8d8d4e9c51b80fd4b7c6a517
|
#
048b4b3c |
|
17-Aug-2018 |
Nick Maniscalco <maniscalco@google.com> |
[kernel][heap] Don't use heap for thread stacks Kernel stacks are now allocated by vm_allocate_kstack. Thread creation no longer allows you to bring your own stack. thread_create and thread_create_etc now always create a stack of size DEFAULT_STACK_SIZE. Remove THREAD_STACK_BOUNDS_CHECK feature as it has been subsumed by guard pages provided by vm_allocate_kstack. Test: verified no leaks using "k vmm kaspaces" and "k thread_tests" ZX-2509 #done Change-Id: I8dbde5c8a6852775b9796e0c7f963289291822b2
|
#
e302c45d |
|
26-Jul-2018 |
Nick Maniscalco <maniscalco@google.com> |
[zircon][syscalls] Make zx_time_t and zx_duration_t signed types This change is part of a hard transition and breaks the layers above. zx_time_t and zx_duration_t are now int64_t. ZX_TIME_INFINITE is now INT64_MAX. A negative time value passed to a syscall is treated as any other time value that's "in the past". Test: CQ; new unit tests; built and ran topaz system on Eve ZX-2100 #comment Change-Id: I2a020cb2cf3dd7212608e24c1ee90cec58dd51ef
|
#
ca7f5a1f |
|
15-Jun-2018 |
Roland McGrath <mcgrathr@google.com> |
[kernel][cmd] Don't cast between function pointer types Such casts are not valid in standard C++. Change-Id: I99e5c95ee3c802bd9051904fffc3ac98aeec93d2
|
#
dd8669e1 |
|
06-Jun-2018 |
George Kulakowski <kulakowski@google.com> |
[kernel] Prefer fbl::count_of in C++ code This also migrates some C++ code to use fbl::atomic, to help settle some integer comparison differences. Change-Id: Ief77949d571351a3990fe9a8251d56d35735422c
|
#
f6fc40ba |
|
23-Feb-2018 |
Mark Seaborn <mseaborn@google.com> |
[kernel][tests] Fix printf() format string warnings Enable -Wformat warnings for this directory by removing -Wno-format. This involves: * Size fixes for correctness/strictness. * Signedness fixes, because we compile the kernel with -Wformat-signedness (which GCC supports but Clang does not support). Change-Id: Id1f3a73f4dbeee319e2aa80b05cc6648280dafd5
|
#
5907e30d |
|
23-Jan-2018 |
Mark Seaborn <mseaborn@google.com> |
[kernel][timer] Change timer callbacks to return void Following recent changes, all of the timer callbacks now always return INT_NO_RESCHEDULE. We can therefore remove the return values. We can change the timer callbacks to return void instead of "enum handler_return". ZX-1490 Change-Id: Idb42c52c1daec599ffb16d5862048d57f520db0f
|
#
92fc9801 |
|
23-Jan-2018 |
Mark Seaborn <mseaborn@google.com> |
[kernel] Convert remaining timer callbacks to make use of preempt_disable Remove the remaining uses of INT_RESCHEDULE in timer callbacks. Convert to calling thread_preempt_set_pending() or passing reschedule=true. Note that for threadload() in debug.c, printf() currently does not trigger a reschedule by itself for running debuglog. In this CL, I am not changing printf() to trigger a reschedule yet, because that has potential to cause performance regressions. ZX-1490 Change-Id: I2b5f13028fdcb1ca629ae57ac9dda86ede2505d2
|
#
89b0728c |
|
10-Jan-2018 |
Mark Seaborn <mseaborn@google.com> |
[kernel] Cleanup: Refer to "timer_t" rather than "struct timer" for consistency ZX-1490 Change-Id: I653b55552c901ad5ee43fb3ba3826b51a01038d1
|
#
07e82268 |
|
05-Oct-2017 |
Roland McGrath <mcgrathr@google.com> |
[kernel] Remove kernel/app module This is no longer used at all. The kernel/app/tests code doesn't use the "app" infrastructure. So move it to kernel/tests. Change-Id: I6cd8ec1bf569fd95940e5ebf4dc5f640b265eb69
|