oxidecomputer / oxidecomputer/opte
Consider less aggressively mangled names in kernel code
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 77
- Forks
- 11
- Avg merge
- 9d 20h
- Merged PRs (30d)
- 8
Description
I am still learning the space so apologies for the possibly quite naive request. Anyhow, I noticed that xde's function names are mangled in a rather unfriendly way. To wit, I wanted to DTrace gen_arp_reply and found a rather unpleasantly mangled fbt probe:
root@redacted:~# dtrace -n 'fbt::_ZN4opte6engine3arp13gen_arp_reply17h1b65024303de78e2E:entry { stack(); }'
dtrace: description 'fbt::_ZN4opte6engine3arp13gen_arp_reply17h1b65024303de78e2E:entry ' matched 1 probe
CPU ID FUNCTION:NAME
60 4275 _ZN4opte6engine3arp13gen_arp_reply17h1b65024303de78e2E:entry
xde`_ZN75_$LT$oxide_vpc..engine..VpcNetwork$u20$as$u20$opte..engine..NetworkImpl$GT$10handle_pkt17heb8b76b14f6bae95E+0x1ae
xde`xde_mc_tx+0x2b73
mac`mac_ring_tx+0x50
mac`mac_provider_tx+0x6d
mac`mac_tx+0x28b
viona`viona_tx+0x325
viona`viona_worker_tx+0x80
viona`viona_worker+0x223
unix`thread_start+0xb
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with lib/opte/src/engine/arp.rs, especially gen_arp_reply, and reproduce the DTrace fbt probe shown in the issue. Trace how Rust symbols from kernel code become probe names, then determine whether the desired result is less-mangled names for this function or broader xde coverage; done means the relevant probes are easier to identify without losing uniqueness.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100