svn commit: r324673 - head/sys/kern
Andriy Voskoboinyk
avos at freebsd.org
Mon Oct 16 22:53:37 UTC 2017
Tue, 17 Oct 2017 00:53:28 +0300 було написано Bryan Drewery
<bdrewery at 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 = 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
>
More information about the svn-src-all
mailing list