Page MenuHomeFreeBSD

Add an mbuf provider for DTrace
ClosedPublic

Authored by gnn on Mar 19 2016, 11:17 AM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Jan 8, 6:19 AM
Unknown Object (File)
Sat, Jan 4, 12:00 AM
Unknown Object (File)
Tue, Dec 24, 10:13 AM
Unknown Object (File)
Dec 10 2024, 3:51 PM
Unknown Object (File)
Dec 4 2024, 7:23 PM
Unknown Object (File)
Nov 24 2024, 10:43 PM
Unknown Object (File)
Nov 24 2024, 3:34 AM
Unknown Object (File)
Nov 22 2024, 2:46 AM
Subscribers

Details

Summary

Add a set of SDTs for mbuf allocation and free routines. I'll add a translator in a followup commit.

Test Plan

Testing forwarding in the netperf cluster using the netperf performance tests.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

gnn retitled this revision from to Add an mbuf provider for DTrace.
gnn updated this object.
gnn edited the test plan for this revision. (Show Details)
gnn added a reviewer: markj.
gnn edited the test plan for this revision. (Show Details)
gnn added reviewers: glebius, transport, np.
gnn edited the test plan for this revision. (Show Details)

Add translators.

Add the mbuf.d translation file.

Update m_getcl provider to also pass the flags.

bz requested changes to this revision.Mar 21 2016, 1:56 PM
bz added a reviewer: bz.
bz added a subscriber: bz.

A few pondering...

sys/kern/kern_mbuf.c
759 ↗(On Diff #14476)

Why do you not probe on the return value are as you do in uipc_mbuf? Consistency would be good I think.

sys/sys/mbuf.h
46 ↗(On Diff #14476)

Why do you need a new #ifdef KERNEL section here?

I guess the hidden include for SDT is hard to avoid?

695 ↗(On Diff #14476)

I wondered if this is more meaningful here or at the end, but given the two return paths it might be harder; I wonder if we should initialise error to 0, have one return and also report the return value?

759 ↗(On Diff #14476)

Can you move this to the bottom so that the mbuf will have all the values set, which might make it more usable as args in a d-script?

This revision now requires changes to proceed.Mar 21 2016, 1:56 PM
gnn edited edge metadata.
gnn marked 3 inline comments as done.

Address comments from bz@

sys/sys/mbuf.h
46 ↗(On Diff #14476)

Because I want this to be of a whole piece and various bits of non kernel code include mbuf.h

mbuf.d seems to be empty?

gnn edited edge metadata.

Updates to get all the return values out.

bz edited edge metadata.

Looks good now from what I can see. Thanks for this! :)

sys/sys/mbuf.h
705 ↗(On Diff #14477)

In theory you don't need the {} anymore

This revision is now accepted and ready to land.Mar 22 2016, 1:08 PM
This revision was automatically updated to reflect the committed changes.