/Zephyr-Core-3.7.0/cmake/modules/ |
D | FindThreads.cmake | 5 # FindThreads module for locating threads implementation. 10 # Indicates if threads are supported. 13 # The threads library to use. Zephyr provides threads implementation and no 17 # Indicates if threads are pthread compatible. 20 # The original implementation tries to find threads library using various 35 find_package_handle_standard_args(Threads DEFAULT_MSG Threads_FOUND) 37 if(Threads_FOUND AND NOT TARGET Threads::Threads) 41 add_library(Threads::Threads INTERFACE IMPORTED)
|
/Zephyr-Core-3.7.0/tests/kernel/threads/dynamic_thread_stack/ |
D | testcase.yaml | 18 kernel.threads.dynamic_thread.stack.no_pool.no_alloc.no_user: 24 kernel.threads.dynamic_thread.stack.no_pool.no_alloc.user: 31 kernel.threads.dynamic_thread.stack.no_pool.alloc.no_user: 38 kernel.threads.dynamic_thread.stack.no_pool.alloc.user: 46 kernel.threads.dynamic_thread.stack.pool.no_alloc.no_user: 52 kernel.threads.dynamic_thread.stack.pool.no_alloc.user: 59 kernel.threads.dynamic_thread.stack.pool.alloc.no_user: 66 kernel.threads.dynamic_thread.stack.pool.alloc.user:
|
/Zephyr-Core-3.7.0/doc/kernel/usermode/ |
D | overview.rst | 9 User mode threads are considered to be untrusted by Zephyr and are therefore 10 isolated from other user mode threads and from the kernel. A flawed or 22 cannot compromise the kernel or other threads. 25 with their own group of threads and private data structures, which are 31 For threads running in a non-privileged CPU state (hereafter referred to as 52 threads in the same memory domain, depending on hardware. 54 - On MPU systems, threads may only access their own stack buffer. 56 - On MMU systems, threads may access any user thread stack in the same 59 - By default, program text and read-only data are accessible to all threads 62 - User threads by default are not granted default access to any memory [all …]
|
D | kernelobjects.rst | 17 Kernel objects are completely opaque to user threads. User threads work 21 user threads. 23 Since user threads may not directly manipulate kernel objects, all use of 44 Kernel objects that are only used by supervisor threads have no restrictions 46 to prevent accidental or intentional corruption by user threads, they must 47 not be located in any memory that user threads have direct access to. 83 * Supervisor threads may call :c:func:`k_object_free` to force a dynamic 86 * If an object's references drop to zero (which happens when no threads have 87 permissions on it) the object will be automatically freed. User threads 90 cleared when a thread terminates. Supervisor threads may additionally [all …]
|
/Zephyr-Core-3.7.0/tests/kernel/sched/schedule_api/src/ |
D | test_sched_timeslice_and_lock.c | 95 * @details Create 3 threads of priority -2, -1 and 0. 97 * if all the threads gets executed. 120 * @details Create 3 threads of priority -2, -1 and 0. Put the main 122 * Check if all the threads gets executed. 133 /* checkpoint: all ready threads get executed when k_sleep */ in ZTEST() 151 /* checkpoint: No other threads get executed */ in ZTEST() 162 * @details Create 3 threads with main thread with priority 0 163 * and other threads with -1, 0 ,+1 priority. Now -1 priority 179 /* checkpoint: lower threads not executed, high threads are in sleep */ in ZTEST() 240 * @details Create 3 threads with -1, 0, and 1 as priority, setup [all …]
|
D | test_priority_scheduling.c | 10 /* nrf 51 has lower ram, so creating less number of threads */ 27 /* Semaphore on which application threads wait */ 45 /* Testing if threads are executed as per priority */ in thread_tslice() 60 * @brief Check the behavior of preemptive threads with different priorities 62 * @details Create multiple threads of different priorities - all are preemptive, 63 * current thread is also made preemptive. Check how the threads get chance to 78 /* Create Threads with different Priority */ in ZTEST() 95 /* Giving Chance to other threads to run */ in ZTEST()
|
/Zephyr-Core-3.7.0/subsys/portability/cmsis_rtos_v2/ |
D | Kconfig | 23 Mention max number of threads in CMSIS RTOS V2 compliant application. 24 There's a limitation on the number of threads due to memory 32 Mention max number of dynamic threads in CMSIS RTOS V2 compliant 33 application. There's a limitation on the number of threads due to memory 34 related constraints. Dynamic threads are a subset of all other CMSIS 35 threads i.e. they also count towards that maximum too. 38 int "Max stack size threads can be allocated in CMSIS RTOS V2 application" 42 Mention max stack size threads can be allocated in CMSIS RTOS V2 application. 45 int "Dynamic stack size threads are allocated in CMSIS RTOS V2 application" 49 Mention dynamic stack size threads are allocated in CMSIS RTOS V2 application.
|
/Zephyr-Core-3.7.0/doc/kernel/services/scheduling/ |
D | index.rst | 6 The kernel's priority-based scheduler allows an application's threads 39 to be the current thread. When multiple ready threads of the same priority 44 (:kconfig:option:`CONFIG_SCHED_DEADLINE`) and a choice of threads have equal 47 enabled, two threads are only considered to have the same priority when both 55 cooperative threads and preemptive threads. 60 runtime overhead and performance scaling when many threads are added. 65 very fast constant time performance for single threads and very low code size. 67 that will never see more than a small number (3, maybe) of runnable threads in 77 quickly into the many thousands of threads. 79 Use this for applications needing many concurrent runnable threads (> 20 or [all …]
|
/Zephyr-Core-3.7.0/kernel/ |
D | Kconfig.mem_domain | 46 It's important to note that although supervisor threads can be 61 the architecture supports isolating thread stacks for threads 70 isolated which means threads within the same memory domains 71 have no access to others threads' stacks. 73 If disabled, threads within the same memory domains can access 74 other threads' stacks. 76 Regardless of this settings, threads cannot access the stacks of 77 threads outside of their domains.
|
D | thread_monitor.c | 13 * Remove a thread from the kernel's list of active threads. 19 if (thread == _kernel.threads) { in z_thread_monitor_exit() 20 _kernel.threads = _kernel.threads->next_thread; in z_thread_monitor_exit() 24 prev_thread = _kernel.threads; in z_thread_monitor_exit() 46 * Lock is needed to make sure that the _kernel.threads is not being in k_thread_foreach() 55 for (thread = _kernel.threads; thread; thread = thread->next_thread) { in k_thread_foreach() 75 for (thread = _kernel.threads; thread; thread = thread->next_thread) { in k_thread_foreach_unlocked() 98 * Lock is needed to make sure that the _kernel.threads is not being in k_thread_foreach_filter_by_cpu() 107 for (thread = _kernel.threads; thread; thread = thread->next_thread) { in k_thread_foreach_filter_by_cpu() 130 for (thread = _kernel.threads; thread; thread = thread->next_thread) { in k_thread_foreach_unlocked_filter_by_cpu()
|
/Zephyr-Core-3.7.0/tests/kernel/sched/deadline/src/ |
D | main.c | 23 /* The number of worker threads that ran, and array of their 42 * platforms implement a thread-based cleanup step for threads in worker() 57 /* Create a bunch of threads at a single lower priority. Give in ZTEST() 86 zassert_true(n_exec == 0, "threads ran too soon"); in ZTEST() 95 zassert_true(n_exec == 0, "threads ran too soon"); in ZTEST() 99 zassert_true(n_exec == NUM_THREADS, "not enough threads ran"); in ZTEST() 105 zassert_true(d0 <= d1, "threads ran in wrong order"); in ZTEST() 124 /* should not get here until all threads have started */ in yield_worker() 134 /* Test that yield works across threads with the in ZTEST() 144 /* Create a bunch of threads at a single lower priority in ZTEST() [all …]
|
/Zephyr-Core-3.7.0/tests/kernel/threads/tls/ |
D | testcase.yaml | 5 kernel.threads.tls: 8 - threads 10 kernel.threads.tls.userspace: 13 - threads
|
/Zephyr-Core-3.7.0/samples/subsys/canbus/isotp/ |
D | Kconfig | 14 int "RX threads stack size" 17 Stack size (in bytes) used for the RX threads. 20 int "RX threads priority" 23 Priority used for the RX threads.
|
/Zephyr-Core-3.7.0/doc/hardware/arch/ |
D | xtensa.rst | 15 The kernel allows threads to use the HiFi Audio Engine DSP registers on boards 17 registers by threads and not ISRs. 33 This mode is used when the application has no threads that use the HiFi 44 The behavior is undefined, if two or more threads attempt to use 46 (nor prevent) multiple threads from using these registers. 51 This mode is used when the application has two or more threads that use HiFi 52 registers. When enabled, the kernel automatically allows all threads to use the 71 :kconfig:option:`CONFIG_XTENSA_HIFI4`. Threads must have sufficient
|
/Zephyr-Core-3.7.0/tests/subsys/debug/coredump_threads/src/ |
D | main.c | 14 static struct k_thread threads[THREAD_COUNT]; variable 40 /* Spawn a few threads */ in coredump_threads_suite_setup() 44 &threads[i], in coredump_threads_suite_setup() 58 k_thread_name_set(&threads[i], thread_name); in coredump_threads_suite_setup() 68 /* Give semaphore allowing one of the waiting threads to continue and panic */ in ZTEST() 71 k_thread_join(&threads[i], K_FOREVER); in ZTEST()
|
/Zephyr-Core-3.7.0/samples/philosophers/src/ |
D | main.c | 24 * The demo can be configured to work with threads of the same priority or 25 * not. If using different priorities, two threads will be cooperative 26 * threads, and the other four will be preemptible threads; if using one 27 * priority, there will be six preemptible threads of priority 0. This is 32 * The number of threads is set via NUM_PHIL. The demo has only been tested 33 * with six threads. In theory it should work with any number of threads, but 213 * create two coop. threads (prios -2/-1) and four preemptive threads in start_threads() 219 k_thread_create(&threads[i], &stacks[i][0], STACK_SIZE, in start_threads() 226 k_thread_name_set(&threads[i], tname); in start_threads() 228 k_object_access_grant(fork(i), &threads[i]); in start_threads() [all …]
|
/Zephyr-Core-3.7.0/tests/kernel/threads/thread_apis/ |
D | testcase.yaml | 5 - threads 8 kernel.threads.apis: 10 kernel.threads.apis.pinonly:
|
/Zephyr-Core-3.7.0/subsys/debug/coredump/ |
D | Kconfig | 62 bool "Threads" 70 threads and all data required to debug threads. 102 bool "Threads metadata" 107 Core dump will contain the threads metadata section containing 108 any necessary data to enable debugging threads
|
/Zephyr-Core-3.7.0/doc/kernel/services/synchronization/ |
D | events.rst | 16 event object is referenced by its memory address. One or more threads may wait 18 event object. When new events are delivered to the event object, all threads 32 conditions of multiple threads waiting on the event object. All threads whose 35 Threads may wait on one or more events. They may either wait for all of the 36 requested events, or for any of them. Furthermore, threads making a wait request 39 threads wait on the same event object. 83 /* notify threads that data is available */ 104 /* notify threads that more data is available */ 114 Threads wait for events by calling :c:func:`k_event_wait`. 160 Use events to pass small amounts of data to multiple threads at once.
|
/Zephyr-Core-3.7.0/tests/subsys/logging/log_immediate/src/ |
D | log_immediate_test.c | 30 static struct k_thread threads[NUM_THREADS]; variable 34 /* Thread entry point, used for multiple threads. Thread is logging some data 35 * (data length varies for each thread) and sleeps. Threads have different 52 * Test create number of threads with different priorities. Each thread logs 53 * data and sleeps. This creates environment where multiple threads are 64 tids[i] = k_thread_create(&threads[i], stacks[i], STACK_SIZE, in ZTEST()
|
/Zephyr-Core-3.7.0/samples/kernel/metairq_dispatch/src/ |
D | main.c | 17 /* Array of worker threads, and their stacks */ 22 } threads[NUM_THREADS]; variable 40 } threads[NUM_THREADS]; member 64 int ret = k_msgq_put(&threads[m.target].msgq, &m, K_NO_WAIT); in metairq_fn() 130 int lidx = stats.threads[t].nevt++; in record_latencies() 132 if (lidx < ARRAY_SIZE(stats.threads[t].latencies)) { in record_latencies() 133 stats.threads[t].latencies[lidx] = latency; in record_latencies() 160 if (stats.threads[i].nevt == 0) { in record_latencies() 165 calc_stats(stats.threads[i].latencies, in record_latencies() 166 stats.threads[i].nevt, in record_latencies() [all …]
|
/Zephyr-Core-3.7.0/samples/basic/threads/ |
D | README.rst | 5 Spawn multiple threads that blink LEDs and print information to the console. 10 This example demonstrates spawning multiple threads using 11 :c:func:`K_THREAD_DEFINE`. It spawns three threads. Each thread is then defined 20 When either of these threads toggles its LED, it also pushes information into a 49 :zephyr-app: samples/basic/threads
|
/Zephyr-Core-3.7.0/tests/kernel/mem_slab/mslab_threadsafe/src/ |
D | test_mslab_threadsafe.c | 21 * smaller than this the test can deadlock. There are 4 threads 23 * for all four threads to have already allocated 2 blocks, with three 26 * all four threads will end up sleeping forever (or until the 66 * @brief Verify alloc and free from multiple equal priority threads 68 * @details Test creates 4 preemptive threads of equal priority. Then 69 * validates the synchronization of threads by allocating and 80 /* create multiple threads to invoke same memory slab APIs*/ in ZTEST()
|
/Zephyr-Core-3.7.0/doc/hardware/peripherals/sensor/ |
D | fetch_and_get.rst | 31 Using fetch and get sensor can be read in a polling manner from software threads. 47 Triggers may not be set from user mode threads, and the callback is not 61 * Driver dedicated threads have dedicated stack (RAM) which only gets used for 63 * Driver dedicated threads *do* get their own priority typically which lets you 64 prioritize trigger handling among other threads. 65 * Driver dedicated threads will not have head of line blocking if the driver
|
/Zephyr-Core-3.7.0/samples/arch/smp/pi/ |
D | sample.yaml | 3 a number of threads 14 - "Calculate first [0-9]+ digits of Pi independently by [0-9]+ threads.(.*)" 16 - "All [0-9]+ threads executed by [0-9]+ cores in [0-9]+ msec(.*)"
|