Skip to content
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

Merged
merged 14 commits into from Sep 30, 2023
Merged

Commits on Sep 28, 2023

  1. 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>
    peter-mitsis committed Sep 28, 2023
    Copy the full SHA
    432f6ed View commit details
    Browse the repository at this point in the history
  2. 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>
    peter-mitsis committed Sep 28, 2023
    Copy the full SHA
    8ed5d6f View commit details
    Browse the repository at this point in the history
  3. kernel: Refactor CPU usage

    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>
    peter-mitsis committed Sep 28, 2023
    Copy the full SHA
    5adc008 View commit details
    Browse the repository at this point in the history
  4. 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>
    peter-mitsis committed Sep 28, 2023
    Copy the full SHA
    984ccd4 View commit details
    Browse the repository at this point in the history
  5. kernel: Add initial obj_core infrastructure

    Adds the initial object core infrastructure.
    
    Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
    peter-mitsis committed Sep 28, 2023
    Copy the full SHA
    580cf74 View commit details
    Browse the repository at this point in the history
  6. 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>
    peter-mitsis committed Sep 28, 2023
    Copy the full SHA
    3812a5e View commit details
    Browse the repository at this point in the history
  7. 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>
    peter-mitsis committed Sep 28, 2023
    Copy the full SHA
    5b1a975 View commit details
    Browse the repository at this point in the history
  8. 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>
    peter-mitsis committed Sep 28, 2023
    Copy the full SHA
    4c25ba3 View commit details
    Browse the repository at this point in the history
  9. 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>
    peter-mitsis committed Sep 28, 2023
    Copy the full SHA
    9d4ec22 View commit details
    Browse the repository at this point in the history
  10. 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>
    peter-mitsis committed Sep 28, 2023
    Copy the full SHA
    a760194 View commit details
    Browse the repository at this point in the history
  11. 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>
    peter-mitsis committed Sep 28, 2023
    Copy the full SHA
    5016d04 View commit details
    Browse the repository at this point in the history
  12. doc: Add object core documentation

    Adds documentation for both object cores and object core statistics.
    
    Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
    peter-mitsis committed Sep 28, 2023
    Copy the full SHA
    2695cc5 View commit details
    Browse the repository at this point in the history
  13. 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>
    peter-mitsis committed Sep 28, 2023
    Copy the full SHA
    5ddb5a4 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2023

  1. 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>
    peter-mitsis committed Sep 29, 2023
    Copy the full SHA
    426861e View commit details
    Browse the repository at this point in the history