-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
fs/reference_count: set default reference count option to n #13519
base: master
Are you sure you want to change the base?
Conversation
[Experimental Bot, please feedback here] NuttX PR Requirement CheckWhile this PR description provides some information, it does not fully meet the NuttX requirements. Here's a breakdown: Strengths:
Weaknesses:
Recommendations for Improvement
By addressing these points, you can significantly improve the clarity and completeness of your PR, making it easier for reviewers to understand and approve your changes. |
Most of developers will not have the scenarios of open/close file descriptors in multi-threads, The default option will incur additional code size overhead for such devices. this PR will preserve the behavior before PR#13296 was introduced, and ensure that the default code size is not affected. Note that this option will ensure the safety of access to the file system from multi-tasks (Task A blocking rw(fd), then Task B close(fd)), the disadvantage is that it will increase the amount of code-size, there is no need to enable this option if the application could ensure he file operations are safe. Signed-off-by: chao an <[email protected]>
@@ -129,11 +129,17 @@ config FS_HEAPBUF_SECTION | |||
|
|||
config FS_REFCOUNT | |||
bool "File reference count" | |||
default !DEFAULT_SMALL | |||
default n |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the default should be !DISABLE_PTHREAD, the default config should prefer the safe over size, since many user doesn't know every config option.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in nuttx, is pthread the only way to share files between threads?
how about eg. aio?
IMO, FS_REFCOUNT should not be a user-visible option at all.
we should just enable it automatically when a user enabled functionalities which possibly need it.
---help--- | ||
Enable will Records the number of filep references. The file is | ||
actually closed when the count reaches 0 | ||
|
||
Note that this option will ensure the safety of access to the file | ||
system from multi-tasks (Task A blocking rw(fd), then Task B close(fd)), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
change Task to thread
Summary
Most of developers will not have the scenarios of open/close file descriptors in multi-threads,
The default option will incur additional code size overhead for such devices.
this PR will preserve the behavior before PR #13296 was introduced, and ensure that the default code size is not affected.
Note that this option will ensure the safety of access to the file
system from multi-tasks (Task A blocking rw(fd), then Task B close(fd)),
the disadvantage is that it will increase the amount of code-size,
there is no need to enable this option if the application could ensure
he file operations are safe.
Original:
After introduce FS_REFCOUNT:
text +528
bss +64
Some developers do not need this kind of advanced features,
move sigev_notify_thread_id into SIG_EVTHREAD to save the code size.
This reverts commit 9a9d0a6.
This reverts commit 756faf3.
Signed-off-by: chao an [email protected]
Impact
N/A
Testing
ci-check