mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-23 23:06:05 +00:00
Qemu just can't handle 1000 Hz ticks. On our CI machines, CONFIG_HZ on the host (which is the limit of timing precision for things like idle wakeups and signal delivery, both of which qemu seems to use for timing) is 250. When the mismatch gets this large, we start seeing artifacts like interrupts being delivered "in the past" (i.e. code sees a z_clock_elapsed() value of "2" ticks before getting a z_clock_announce() call for "1"). As it happens, this test doesn't actually require timing with that precision, it just wants "lots of context switching" to exercise the threadsafety of the mem_pool APIs. So decrease the tick rate to the 100Hz default, but put a loop counter in the worker threads to force them to do 10x more work, keeping the number of preemptions constant. Signed-off-by: Andy Ross <andrew.j.ross@intel.com> |
||
---|---|---|
.. | ||
arm_irq_vector_table | ||
arm_runtime_nmi | ||
boot_page_table | ||
common | ||
context | ||
critical | ||
device | ||
early_sleep | ||
fatal | ||
fifo | ||
fp_sharing | ||
gen_isr_table | ||
interrupt | ||
lifo | ||
mbox | ||
mem_heap/mheap_api_concept | ||
mem_pool | ||
mem_protect | ||
mem_slab | ||
mp | ||
msgq/msgq_api | ||
mutex | ||
obj_tracing | ||
pending | ||
pipe | ||
poll | ||
profiling/profiling_api | ||
queue | ||
sched | ||
semaphore | ||
sleep | ||
smp | ||
spinlock | ||
stack | ||
static_idt | ||
threads | ||
tickless | ||
timer | ||
workq | ||
xip |