New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introducing Object Cores #59075
Introducing Object Cores #59075
Commits on Sep 28, 2023
-
kernel: Re-factor k_mem_slab definition
Rearranges the k_mem_slab fields so that information that describes how much of the memory slab is used is co-located. This will allow easier of its statistics into the object core statistics reporting framework. Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
-
kernel: Re-factor sys_mem_blocks definition
Rearranges the sys_mem_blocks fields so that information that describes how much of the memory block is used is co-located. This will allow easier of its statistics into the object core statistics reporting framework. Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
-
Refactors CPU usage (thread runtime stats) to make it easier to integrate with the object core statistics framework. Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
-
kernel: FIFO and LIFO have their own sections
Instead of placing both FIFOs and LIFOs into a common k_queue type section, they are now placed into their own custom iterable secitons. This is necessary when employing object cores as FIFOs and LIFOs will be associated with different lists. Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
-
kernel: Add initial obj_core infrastructure
Adds the initial object core infrastructure. Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
-
kernel: Integrate object cores into kernel
Integrates object cores into the following kernel structures sys_mem_blocks, k_mem_slab _cpu, z_kernel k_thread, k_timer k_condvar, k_event, k_mutex, k_sem k_mbox, k_msgq, k_pipe, k_fifo, k_lifo, k_stack Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
-
kernel: Add initial k_obj_core_stats infrastructure
Adds the infrastructure to integrate statistics into the object core. Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
-
kernel: Integrate object core statistics
Integrates object core statistics framework into the following kernel objects: sys_mem_blocks, k_mem_slab threads, _cpu, z_kernel Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
-
test: Implement object core test
Creates a test to verify that kernel objects can be found within the object core framework. Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
-
test: Implement object core stats API test
Creates a set of tests to verify that the top-level k_obj_core_stats_xxx() routines behave as expected. Note that this test is not meant to test the details of the object core statistics operator function pointers. Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
-
test: Implement obj core stats test
Adds a test to test the objects integrated into the object core statistics framework. Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
-
doc: Add object core documentation
Adds documentation for both object cores and object core statistics. Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
-
test: Shorten object core API stats test name
Changing the name of the routine test_obj_core_stats_deregister() to something shorter (test_obj_core_stats_dereg) has been found to be a workaround to the issue identified in zephyrproject-rtos#61087. Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Commits on Sep 29, 2023
-
west.yml: Pull in latest percepio updates
Pulls in the latest percepio module updates that alter how it accesses the k_mem_slab structure (due to changes from this PR). Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>