From owner-freebsd-hackers@FreeBSD.ORG Tue Feb 11 18:13:10 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 09C71774 for ; Tue, 11 Feb 2014 18:13:10 +0000 (UTC) Received: from cu01078b.smtpx.saremail.com (cu01078b.smtpx.saremail.com [195.16.151.53]) by mx1.freebsd.org (Postfix) with ESMTP id 831F81FD3 for ; Tue, 11 Feb 2014 18:13:09 +0000 (UTC) Received: from [172.16.2.46] (izaro.sarenet.es [192.148.167.11]) by proxypop04.sare.net (Postfix) with ESMTPSA id 72AC09DC70C for ; Tue, 11 Feb 2014 19:05:29 +0100 (CET) From: Egoitz Aurrekoetxea Subject: mbuf_tag memory freeing issues with LRO enabled on the XENHVM driver Message-Id: <1AECA876-08BC-48F8-B356-42CE35100805@ramattack.net> Date: Tue, 11 Feb 2014 19:05:26 +0100 To: freebsd-hackers@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 7.1 \(1827\)) X-Mailer: Apple Mail (2.1827) Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.17 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Feb 2014 18:13:10 -0000 Good afternoon, It seems the LRO code inside the FreeBSD's kernel is causing the first = mbuf chain=92s anymbuf->m_hdr->mh_flags due to some failure not to = contain the M_PKTHDR flag.=20 Have you ever seen this bad behavior with any of these drivers having = LRO enabled :=20 cxgb cxgbe e1000 ixgbe ixgbe mxge oce qlxgb qlxge virtio vxge The no presence of this flag, seems to be causing the kernel not to be = able to enter :=20 static void mb_dtor_pack(void *mem, int size, void *arg) { struct mbuf *m; m =3D (struct mbuf *)mem; if ((m->m_flags & M_PKTHDR) !=3D 0) m_tag_delete_chain(m, NULL); <=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D to this function. causing the wired memory to increase a lot due mbuf_tags usage memory to = be pretty high. I have noticed about this issue using the XENHVM network driver (xn), = but taking a look at some other drivers using the same code as this one=85= have found the commented before ones=85. Has anyone too suffered the issue?. Best regards,