Date: Sat, 31 Mar 2018 11:19:18 +0200 From: Harry Schmalzbauer <freebsd@omnilan.de> To: Andriy Voskoboinyk <avos@freebsd.org> Cc: Bryan Drewery <bdrewery@freebsd.org>, svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r324673 - head/sys/kern Message-ID: <5ABF5296.3050307@omnilan.de> In-Reply-To: <op.y774e4id4dikkl@localhost> References: <201710162146.v9GLkB6t036842@repo.freebsd.org> <5305175e-e8d2-453d-9ba6-0281af1582a9@FreeBSD.org> <op.y774e4id4dikkl@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
Bezüglich Andriy Voskoboinyk's Nachricht vom 17.10.2017 00:50 (localtime): > Tue, 17 Oct 2017 00:53:28 +0300 було написано 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 = 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 Will r324673 be MFCd before 11.2? Thanks, -harry
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5ABF5296.3050307>