Home
last modified time | relevance | path

Searched full:threads (Results 1 – 25 of 546) sorted by relevance

12345678910>>...22

/Zephyr-Core-3.7.0/cmake/modules/
DFindThreads.cmake5 # 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/
Dtestcase.yaml18 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/
Doverview.rst9 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 …]
Dkernelobjects.rst17 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/
Dtest_sched_timeslice_and_lock.c95 * @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 …]
Dtest_priority_scheduling.c10 /* 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/
DKconfig23 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/
Dindex.rst6 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/
DKconfig.mem_domain46 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.
Dthread_monitor.c13 * 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/
Dmain.c23 /* 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/
Dtestcase.yaml5 kernel.threads.tls:
8 - threads
10 kernel.threads.tls.userspace:
13 - threads
/Zephyr-Core-3.7.0/samples/subsys/canbus/isotp/
DKconfig14 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/
Dxtensa.rst15 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/
Dmain.c14 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/
Dmain.c24 * 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/
Dtestcase.yaml5 - threads
8 kernel.threads.apis:
10 kernel.threads.apis.pinonly:
/Zephyr-Core-3.7.0/subsys/debug/coredump/
DKconfig62 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/
Devents.rst16 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/
Dlog_immediate_test.c30 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/
Dmain.c17 /* 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/
DREADME.rst5 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/
Dtest_mslab_threadsafe.c21 * 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/
Dfetch_and_get.rst31 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/
Dsample.yaml3 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(.*)"

12345678910>>...22