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-head mailing list