Lines Matching +full:time +full:- +full:of +full:- +full:flight

3 # Copyright (c) 2014-2015 Wind River Systems, Inc.
4 # SPDX-License-Identifier: Apache-2.0
9 module-str = kernel
13 bool "Multi-threading" if ARCH_HAS_SINGLE_THREAD_SUPPORT
27 int "Number of coop priorities" if MULTITHREADING
32 Number of cooperative priorities configured in the system. Gives access
35 K_PRIO_COOP(0) to K_PRIO_COOP(CONFIG_NUM_COOP_PRIORITIES - 1)
39 -CONFIG_NUM_COOP_PRIORITIES to -1
44 The total number of priorities is
52 int "Number of preemptible priorities" if MULTITHREADING
57 Number of preemptible priorities available in the system. Gives access
58 to priorities 0 to CONFIG_NUM_PREEMPT_PRIORITIES - 1.
62 The total number of priorities is
70 int "Priority of initialization/main thread"
71 default -2 if !PREEMPT_ENABLED
75 of the main() function. main() can then change its priority if desired.
85 default -127
88 highest priority) that a thread will acquire as part of
92 int "Number of very-high priority 'preemptor' threads"
95 This defines a set of priorities at the (numerically) lowest
96 end of the range which have "meta-irq" behavior. Runnable
101 of "interrupting" the current task and running the meta-irq
108 "promise" of non-preemptibility granted by the current API
113 bool "Earliest-deadline-first scheduling"
126 k_thread_cpu_mask_*() APIs which control per-CPU affinity masks in
129 implemented, this involves an inherent O(N) scaling in the number of
130 idle-but-runnable threads, and thus works only with the DUMB
136 CPU. With one CPU, it's just a higher overhead version of
140 bool "CPU mask variant with single-CPU pinning only"
143 When true, enables a variant of SCHED_CPU_MASK where only
157 int "Size of stack for initialization and main thread"
169 int "Size of stack for idle thread"
186 This option specifies the size of the stack used by interrupt
220 This option allows each thread to store 32 bits of custom data,
247 int "Size of each pre-allocated thread stack"
255 bool "Support heap-allocated thread objects and stacks"
260 Only use this type of allocation in situations
264 int "Number of statically pre-allocated threads"
268 Pre-allocate a fixed number of thread objects and
269 stacks at build time.
271 This type of "dynamic" stack is usually suitable in
283 bool "Prefer heap-based allocation"
286 Select this option to attempt a heap-based allocation
287 prior to any pool-based allocation.
290 bool "Prefer pool-based allocation"
292 Select this option to attempt a pool-based allocation
293 prior to any heap-based allocation.
309 bool "Simple linked-list ready queue"
312 as a simple unordered list, with very fast constant time
315 never see more than a small number (3, maybe) of runnable
316 threads in the queue at any given time. On most platforms
318 results in a savings of ~2k of code size.
324 as a red/black tree. This has rather slower constant-time
327 extra ~2kb of code. But the resulting behavior will scale
328 cleanly and quickly into the many thousands of threads. Use
331 time. Most applications don't want this.
334 bool "Traditional multi-queue ready queue"
338 as the classic/textbook array of lists, one per priority.
341 overhead vs. the "dumb" scheduler and runs in O(1) time
347 of threads. Typical applications with small numbers of runnable
374 bool "Simple linked-list wait_q"
377 doubly-linked list. Choose this if you expect to have only
393 Enable per-thread errno in the kernel. Application and library code must
395 symbol. The C library must access the per-thread errno via the
403 Use thread local storage to store errno instead of storing it in
436 initialization. Such boot-time optimization could be used for
437 platforms where .bss section is zeroed-out externally.
462 This option delays bootup for the specified amount of
468 achieved by waiting for DCD on the serial port--however, not
480 This option instructs the kernel to maintain a list of all threads
490 int "Max length of a thread name"
509 - Thread total execution cycles
510 - System total execution cycles
528 Collect thread runtime info at context switch time
537 for analysis purposes. This includes the total time that a thread
538 has been scheduled, the longest time for which it was scheduled and
546 Maintain a sum of all non-idle thread cycle usage.
553 When set, this option automatically enables the gathering of both
571 default -2 if COOP_ENABLED && !PREEMPT_ENABLED
573 default -1
585 cooperative and a sequence of work items is expected to complete
601 Use when there isn't support for compiler built-ins, but you have
616 Use when there isn't support for compiler built-ins, but you have
625 set, or haven't been implemented yet during bring-up, and also
632 bool "Thread time slicing"
636 This option enables time slicing between preemptible threads of
640 int "Time slice size (in ms)"
645 This option specifies the maximum amount of time a thread can execute
646 before other threads of equal priority are given an opportunity to run.
647 A time slice size of zero means "no limit" (i.e. an infinitely large
648 time slice).
651 int "Time slicing thread priority ceiling"
656 This option specifies the thread priority level at which time slicing
658 not subject to time slicing.
661 bool "Support per-thread timeslice values"
665 a per-thread basis, with an application callback invoked when
666 a thread reaches the end of its timeslice.
678 the availability of some kernel objects (semaphores and FIFOs).
691 maximum utilization of the slab.
694 int "Maximum number of in-flight asynchronous mailbox messages"
697 This option specifies the total number of asynchronous mailbox
711 Note that setting this option slightly increases the size of the
719 be used to synchronously transfer chunks of data in whole or in part.
721 Note that setting this option slightly increases the size of the
728 Enable the use of kernel memory pool.
738 This option specifies the size of the heap memory pool used when
739 dynamically allocating memory using k_malloc(). The maximum size of
745 to the sum of the individual requirements (unless the
747 considering both this option as well as sum of the custom
769 and the completion of the context switch. There are a
770 handful of workaround cases in the kernel that need to be
772 ARM when the PendSV exception priority sits below that of
773 Zephyr-handled interrupts.
787 This option specifies the nominal frequency of the system clock in Hz.
795 The choice of tick rate is configurable by this option. Also the number
796 of cycles per tick should be chosen so that 1 millisecond is exactly
797 represented by an integral number of ticks. Defaults on most hardware
799 expected to be in the range of 10 kHz, with software emulation
804 granularity, not necessarily the number or frequency of
807 A value of 0 completely disables timer support in the kernel.
812 This option specifies the frequency of the hardware timer used for the
823 this is disabled. Obviously timeout-related APIs will not
831 kernel APIs will be a 64 bit quantity, allowing the use of
833 of overflowing the 32 bit word. This feature also gates the
834 availability of absolute timeout values (which require the
841 Value is used in the time conversion static inline function to determine
842 at compile time which algorithm to use. One algorithm is faster, takes
843 less code but may overflow if multiplication of source and target
849 int "Number of CPU loops per microsecond for crude busy looping"
855 much worse but all we want here is a ball-park figure that ought
856 to be good enough for the purpose of being able to configure out
863 This option allows the kernel to operate with its text and read-only
864 sections residing in ROM (or similar read-only memory). Not all boards
867 option increases both the code and data footprint of the image.
890 will occur at build time.
958 so this option is given for those unafraid of shooting themselves
970 This option performs a limited form of Address Space Layout
972 initial stack pointer upon creation. This hinders some types of
973 security attacks by making the location of any given stack frame
974 non-deterministic.
977 region, which is carved out of the total size of the stack region.
1029 # As of today only ARC MWDT toolchain doesn't support GNU-compatible
1030 # initialization of static objects, new toolchains can be added
1035 bool "Support GNU-compatible initializers and constructors"
1040 GNU-compatible initialization of static objects. This is required for
1042 defined by GNU-compatible toolchains. This increases the size
1043 of Zephyr binaries by around 100 bytes. If you know your
1067 contains executable name it should be put at the beginning of this string.
1070 int "Size of buffer containing main arguments in bytes"
1074 Configures size of buffer containing all arguments passed to main.