Skip to content

Conversation

@parphane
Copy link
Collaborator

Imported files from #75
Fixes changes per #75 comments
Updated terminology, simplified requirements and updated requirements ID
Closes #65

parphane added 2 commits June 19, 2025 11:05
Import Timer requirements from zephyrproject-rtos#75 pull request.
Fixes zephyrproject-rtos#65

Signed-off-by: Stephane Parenti <[email protected]>
Merge requirements when possible
Rename status to number of times expired

Fixes zephyrproject-rtos#65
Signed-off-by: Stephane Parenti <[email protected]>
@parphane parphane requested review from nicpappler and simhein June 19, 2025 17:50
@parphane parphane added the Requirements Requirements work label Jun 19, 2025
Rework expiry context requirement

Fixes zephyrproject-rtos#65

Signed-off-by: Stephane Parenti [email protected]
@woodmatthews
Copy link

I have reviewed, but wanted to check which portion of the code these requirements are intended to map to. I used timer.c in the kernel section - https://github.com/zephyrproject-rtos/zephyr/blob/5c7c3980eb0600a058d4355e3d101078f88d26dc/kernel/timer.c#L189

I understand all of the requirements as written and agree with them, but wanted to check that the list is complete. timer.c also references multithreading and has code comments for safety which I don't see in this PR.

@parphane
Copy link
Collaborator Author

I have reviewed, but wanted to check which portion of the code these requirements are intended to map to. I used timer.c in the kernel section - https://github.com/zephyrproject-rtos/zephyr/blob/5c7c3980eb0600a058d4355e3d101078f88d26dc/kernel/timer.c#L189

I understand all of the requirements as written and agree with them, but wanted to check that the list is complete. timer.c also references multithreading and has code comments for safety which I don't see in this PR.

The requirements were written of https://docs.zephyrproject.org/apidoc/latest/group__timer__apis.html (which will be used/modified in future as unit/component design reqs)
Anything not documented there would be an omission to be fixed.

I haven't reviewed all the code re safety/user space/multithreading.
Of what I saw though:

  • Functions for user space are adding a mem access right/sanity check through K_OOPS, which I would classify as a design choice (result of architectural process then documented in a unit/component design) for these threads trying to access timers may not belong to their user space.
  • For Multithreading, I would assume the same. There would be a requirements for zephyr to support multithreading, and then the impacts/needs are thought at the architectural level and implemented in units/components
  • Re potential omission, I believe the specific behavior for user space shall be documented, in the docs. Else we will have functional coverage gap. Likewise for multithreading specific behavior, else we will have branch coverage gap

I may be missing part of your remark though as I do not have the tech. knowledge

@woodmatthews
Copy link

Thank you. I will then mark this PR reviewed and approve.

@woodmatthews
Copy link

I am not an approving reviewer for this task so it does not look like I can move this past the current status.

@parphane parphane requested a review from woodmatthews July 29, 2025 13:54
@parphane
Copy link
Collaborator Author

parphane commented Jul 29, 2025

@woodmatthews I just added you as reviewer.
I will also need to perform an update for the new SDOC section format before merging.
Per #92

Copy link

@woodmatthews woodmatthews left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have reviewed this PR and compared with the API documentation.

@woodmatthews
Copy link

woodmatthews commented Jul 29, 2025 via email

@parphane parphane merged commit c302ebf into zephyrproject-rtos:main Jul 29, 2025
2 checks passed
@parphane parphane deleted the create_timer_reqs branch July 29, 2025 15:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Requirements Requirements work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Timers Requirements

2 participants