oxidecomputer / oxidecomputer/opte

Consider less aggressively mangled names in kernel code

Open
#979 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.