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
F102034371: D44148.id135905.diff
Wed, Nov 6, 7:01 PM
Unknown Object (File)
Wed, Nov 6, 3:58 PM
Unknown Object (File)
Wed, Oct 16, 12:38 PM
Unknown Object (File)
Tue, Oct 15, 7:18 PM
Unknown Object (File)
Tue, Oct 15, 6:00 AM
Unknown Object (File)
Mon, Oct 14, 6:08 PM
Unknown Object (File)
Sun, Oct 13, 10:05 PM
Unknown Object (File)
Sun, Oct 13, 12:00 AM

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