Date: Tue, 11 Feb 2014 19:05:26 +0100 From: Egoitz Aurrekoetxea <egoitz@ramattack.net> To: freebsd-hackers@freebsd.org Subject: mbuf_tag memory freeing issues with LRO enabled on the XENHVM driver Message-ID: <1AECA876-08BC-48F8-B356-42CE35100805@ramattack.net>
next in thread | raw e-mail | index | archive | help
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,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1AECA876-08BC-48F8-B356-42CE35100805>