CVSROOT: /cvs Module name: src Changes by: clau...@cvs.openbsd.org 2025/07/02 08:50:05
Modified files: sys/kern : uipc_socket.c Log message: Rewrite m_getuio() to better align data in the mbufs Especially for datagram traffic data should be put at the end of a buffer that also holds at least max_hdr bytes extra space. Doing so should prevent the stack from calling m_prepend() later on. Also handle cluster allocations differently. If there is no cluster available just wait for memory and stop building stupidly long mbuf chains. In the very old times the number of clusters was very limited and so this was kind of needed but this has not been the case for a long time. Also most drivers will need to m_defrag() such a chain anyway which requires the same mbuf cluster to succeed. Joint work with dlg@ OK bluhm@