mbuf_tag memory freeing issues with LRO enabled on the XENHVM driver
Adrian Chadd
adrian at freebsd.org
Tue Feb 11 23:35:16 UTC 2014
+net
.. any ideas?
-a
On 11 February 2014 10:05, Egoitz Aurrekoetxea <egoitz at ramattack.net> wrote:
> Good afternoon,
>
> It seems the LRO code inside the FreeBSD's kernel is causing the first mbuf chain's anymbuf->m_hdr->mh_flags due to some failure not to contain the M_PKTHDR flag.
> Have you ever seen this bad behavior with any of these drivers having LRO enabled :
>
> 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 :
>
> static void
> mb_dtor_pack(void *mem, int size, void *arg)
> {
> struct mbuf *m;
>
> m = (struct mbuf *)mem;
> if ((m->m_flags & M_PKTHDR) != 0)
> m_tag_delete_chain(m, NULL); <============ 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... have found the commented before ones....
>
> Has anyone too suffered the issue?.
>
> Best regards,
>
>
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
More information about the freebsd-hackers
mailing list