Date: Tue, 17 Oct 2017 01:50:54 +0300 From: "Andriy Voskoboinyk" <avos@freebsd.org> To: "Bryan Drewery" <bdrewery@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r324673 - head/sys/kern Message-ID: <op.y774e4id4dikkl@localhost> In-Reply-To: <5305175e-e8d2-453d-9ba6-0281af1582a9@FreeBSD.org> References: <201710162146.v9GLkB6t036842@repo.freebsd.org> <5305175e-e8d2-453d-9ba6-0281af1582a9@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Tue, 17 Oct 2017 00:53:28 +0300 =D0=B1=D1=83=D0=BB=D0=BE =D0=BD=D0=B0=D0= =BF=D0=B8=D1=81=D0=B0=D0=BD=D0=BE Bryan Drewery = <bdrewery@freebsd.org>: > On 10/16/2017 2:46 PM, Andriy Voskoboinyk wrote: >> Author: avos >> Date: Mon Oct 16 21:46:11 2017 >> New Revision: 324673 >> URL: https://svnweb.freebsd.org/changeset/base/324673 >> >> Log: >> mbuf(9): unbreak m_fragment() > > How was it broken Due to m_cat() usage reason (as described below); this part was not changed since function creation in r119644. > and since when? No idea here - probably, it was partially working until m_cat() improvement in r242256. P.S. Just checked with m_fragment(m, M_NOWAIT, -2) placed right before ieee80211_mbuf_defrag() (from D4077) and various m_len printf's before and after - it defragments frames before this change and works as intended after it. > >> >> - Fix it by replacing m_cat() with m_prev->m_next =3D m_new >> (m_cat() will try to append data - as a result, there will be no >> fragmentation). >> - Move some constants out of the loop. >> >> Was previously tested with D4077. >> >> Differential Revision: https://reviews.freebsd.org/D4090 >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?op.y774e4id4dikkl>