-
Notifications
You must be signed in to change notification settings - Fork 16
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
Add a tracker for patches that have not yet been upstreamed #12
Open
tgross35
wants to merge
1
commit into
Rust-for-Linux:main
Choose a base branch
from
tgross35:patch-registry
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+82
−0
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
# RFL Patch Registry | ||
|
||
This is an attempt to aggregate Rust abstractions for different areas of the | ||
kernel that may not yet be available upstream, as well as some leaf drivers | ||
and other implementations. | ||
|
||
If you are working on something that requires a listed abstraction that is not | ||
yet in-tree, or if you don't see something you need, it is a good idea to get | ||
in touch [on Zulip](https://rust-for-linux.zulipchat.com/) or | ||
[on the list](https://lore.kernel.org/rust-for-linux/) to verify the latest | ||
status. Quite a few items are nearly ready to go, but have not been merged to | ||
avoid adding dead code. | ||
|
||
Usual status options are: | ||
|
||
- `merged`: this patch has been merged to upstream and is usable in recent | ||
versions of the kernel. | ||
- `review`: this patchset has been submitted to the mailing list and is in a | ||
nearly usable state, pending review or other blockers. | ||
- `RFC`: this patchset is currently collecting feedback on the mailing list. It | ||
is likely not too far off from being upstream ready, but may be blocked on | ||
not having an in-tree usecase. (some patchsets that would otherwise be | ||
`review` but do not have an in-tree usecase have been downgraded to `RFC` | ||
even if not an `RFC patch`). | ||
- `testing`: this patchset is generally considered good for further | ||
experimentation and may have RFL review, but does not have review by relevant | ||
maintainers. | ||
- `experimental`: this patchset is a work in progress. | ||
- `abandoned`: not recently maintained | ||
|
||
Note that things change frequently and the information in this table may not | ||
always be the latest. | ||
|
||
| Target Area | Status | Author | Git Link | Mailing List Link | | ||
|---|---|---|---|---| | ||
| crypto | RFC | Tomo | | <https://lore.kernel.org/rust-for-linux/[email protected]/> | | ||
| debugfs | testing | Adam | <https://github.com/Rust-for-Linux/linux/pull/885> | | | ||
| debugfs | experimental | Fabien | <https://github.com/Rust-for-Linux/linux/pull/1041> | | | ||
| delay | testing | Tomo | <https://github.com/Rust-for-Linux/linux/pull/920> | | | ||
| dma | testing | Tomo | <https://github.com/Rust-for-Linux/linux/pull/901> | | | ||
| drm | RFC | Lina | | <https://lore.kernel.org/rust-for-linux/[email protected]/> | | ||
| ethernet | testing | Amélie | <https://github.com/Rust-for-Linux/linux/pull/1014> | | | ||
| file | RFC | Alice, Wedson | | <https://lore.kernel.org/rust-for-linux/[email protected]/> | | ||
| fwnode | testing | Vinay | <https://github.com/Rust-for-Linux/linux/pull/925> | | | ||
| i2c | testing | Finn | <https://github.com/Rust-for-Linux/linux/pull/946> | | | ||
| io_pgtable | testing | Lina | <https://github.com/Rust-for-Linux/linux/pull/952/commits/f476b2b052165a40eed0a8fcb86b56f794ee62d8> | | | ||
| io_resource | testing | Maciej | <https://github.com/Rust-for-Linux/linux/pull/682> | | | ||
| jiffies | testing | Maria | <https://github.com/Rust-for-Linux/linux/pull/982> | | | ||
| mm | | Alice, Wedson | <https://github.com/Darksonn/linux/commit/7ba95d4fc5a8442ef5eb428b64109116717f7e47> | | | ||
| napi | testing | Amélie | <https://github.com/Rust-for-Linux/linux/pull/1018> | | | ||
| net_device | RFC | Tomo | | <https://lore.kernel.org/netdev/[email protected]/> | | ||
| null block | RFC | Andreas | | <https://lore.kernel.org/rust-for-linux/[email protected]/> | | ||
| pci | testing | Tomo | <https://github.com/Rust-for-Linux/linux/pull/856> | | | ||
| phy | review | Tomo | | <https://lore.kernel.org/rust-for-linux/[email protected]/> | | ||
| pm_runtime | testing | Maciej | <https://github.com/Rust-for-Linux/linux/pull/700> | | | ||
| puzzlefs | RFC | Ariel | | <https://lore.kernel.org/rust-for-linux/[email protected]/> | | ||
| ramfs | abandoned | Fox | <https://github.com/Rust-for-Linux/linux/pull/409> | | | ||
| rbtree | testing | | <https://github.com/Darksonn/linux/commit/edb94cbf99f6d35bca05e052e997542f07c085ab> | | | ||
| regulator/consumer | experimental | Fabien | <https://github.com/Rust-for-Linux/linux/pull/1040> | | | ||
| reset | testing | Nikos | <https://github.com/Rust-for-Linux/linux/pull/933> | | | ||
| rtkit (apple) | testing | Lina | <https://github.com/Rust-for-Linux/linux/pull/952/commits/f7708d02efab0d96e56f78d7e6dfa56adc948ef4> | | | ||
| scatterlist | RFC | Fox | | <https://lore.kernel.org/rust-for-linux/[email protected]/> | | ||
| schedule | testing | Boqun | <https://github.com/Rust-for-Linux/linux/pull/861> | | | ||
| sk_buf | RFC | Tomo | | <https://lore.kernel.org/netdev/[email protected]/> | | ||
| socket | RFC | Michele | | <https://lore.kernel.org/rust-for-linux/[email protected]/> | | ||
| spi | testing | Esteban | <https://github.com/Rust-for-Linux/linux/pull/264> | | | ||
| tarfs | testing | Wedson | <https://github.com/Rust-for-Linux/linux/pull/1037> | | | ||
| timer | testing | Maria | <https://github.com/Rust-for-Linux/linux/pull/982> | | | ||
| thread | testing | Boqun | <https://github.com/Rust-for-Linux/linux/pull/109> | | | ||
| usb | testing | Martin | <https://github.com/Rust-for-Linux/linux/pull/884> | | | ||
| virtio | testing | Richard | <https://github.com/Rust-for-Linux/linux/pull/886> | | | ||
| workqueue | merged | Alice | <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/rust/kernel/workqueue.rs> | <https://lore.kernel.org/rust-for-linux/[email protected]/> | | ||
| v4l2 | review | Daniel | | <https://lore.kernel.org/rust-for-linux/[email protected]/> | | ||
| vfs | RFC | Wedson | | <https://lore.kernel.org/rust-for-linux/[email protected]/#t> | | ||
| xarray | RFC | Lina | | <https://lore.kernel.org/rust-for-linux/[email protected]/> | | ||
| apple, various | testing | Lina | <https://github.com/Rust-for-Linux/linux/pull/964> | | | ||
|
||
<!-- copy & paste me: | | | | | | --> | ||
|
||
If you are working on something that is not on this list, feel free to submit a | ||
PR to add it: <https://github.com/Rust-for-Linux/rust-for-linux.com>. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Thanks for putting all the information together!
I wonder whether bullet points/lists are better than tables, at very least, we can group things belonging to the same subsystem together. For example:
Filesystem API
vfs
...
MM
folio
...
pages
...
Filesystem implementions
tarfs
...
puzzle fs
...
Thoughts?
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.
Interesting, I like the thought of having dependencies. Maybe it would be good to keep the main abstractions in a table for quick reading, but the drivers and implementations could be in a list format?
I'll play around with it a bit
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.
Yes, tables are better for a quick look (or a rough picture of everything). However, I think people that use the information would probably do a search with key words, so it doesn't matter. Maybe a table for each large subsystem (like MM, filesystems, networking, drm, security, etc.)? But anyway, I don't have any problem with the current format, we can always improve the format of the information later ;-)
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.
Up to you :) if you think it is ok to merge as-is, I can make a PR doing some updates. Maybe even just an extra column saying the subsystem then a second one saying exactly what it is could work