Page MenuHomeFreeBSD

mbuf: add mc_split() that works on two struct mchain
AcceptedPublic

Authored by glebius on Feb 29 2024, 7:03 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 3, 4:17 AM
Unknown Object (File)
Sun, Nov 2, 5:54 AM
Unknown Object (File)
Sat, Nov 1, 11:54 AM
Unknown Object (File)
Wed, Oct 29, 5:18 AM
Unknown Object (File)
Tue, Oct 28, 10:37 PM
Unknown Object (File)
Tue, Oct 28, 10:37 PM
Unknown Object (File)
Tue, Oct 28, 5:07 PM
Unknown Object (File)
Tue, Oct 28, 5:07 PM

Details

Reviewers
markj
Group Reviewers
transport
network
Summary

It preserves tail points and all length/memory accounting, so that caller
doesn't need to do any extra traversals. It doesn't respect M_PKTHDR but
it may be improved if needed. It respects M_EOR, though. First consumer
will be the new unix(4) SOCK_STREAM and SOCK_SEQPACKET.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 56677
Build 53565: arc lint + arc unit

Event Timeline

tuexen added inline comments.
sys/sys/mbuf.h
1778–1779

If adding mc_concat is intended, mention it in the commit message. Right now it looks like it slipped in the diff...

markj added inline comments.
sys/kern/uipc_mbuf.c
1125

This should assert that M_PKTHDR isn't set in head.

sys/kern/uipc_mbuf.c
1145

Do we prefer m_align() in new code?

Mention mc_concat() in commit message.

This revision is now accepted and ready to land.Mar 18 2024, 5:08 AM

Utilize mc_first, mc_last, etc.

This revision now requires review to proceed.Mar 18 2024, 6:11 PM
This revision is now accepted and ready to land.Mar 19 2024, 5:06 AM