Date: Fri, 11 Jun 2010 13:44:59 -0700 From: Jack Vogel <jfvogel@gmail.com> To: "Bjoern A. Zeeb" <bz@freebsd.org> Cc: Jack F Vogel <jfv@freebsd.org>, svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r209060 - head/sys/dev/ixgbe Message-ID: <AANLkTilWCFyADb1ILa99nz2WIPb-JROhgSPeWGgPqhP5@mail.gmail.com> In-Reply-To: <AANLkTiklA6SV9CSpavEWx6Er6e6-ijNlwNXn0k-fUwKo@mail.gmail.com> References: <201006111903.o5BJ3xp1062600@svn.freebsd.org> <20100611193903.W26508@maildrop.int.zabbadoz.net> <AANLkTimic2IcWP-vI21gehFAbFKbqzUtpmvVnd2r_hLY@mail.gmail.com> <20100611200936.B26508@maildrop.int.zabbadoz.net> <AANLkTim0tKu-Ul1SpadatFJm994pmZbDxvw2GpuUkWVV@mail.gmail.com> <20100611202054.A26508@maildrop.int.zabbadoz.net> <AANLkTiklA6SV9CSpavEWx6Er6e6-ijNlwNXn0k-fUwKo@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 11, 2010 at 1:27 PM, Jack Vogel <jfvogel@gmail.com> wrote: > > On Fri, Jun 11, 2010 at 1:23 PM, Bjoern A. Zeeb <bz@freebsd.org> wrote: > >> On Fri, 11 Jun 2010, Jack Vogel wrote: >> >> Odd though, because that code is in the driver on a system with 16 cores >>> and >>> I'm >>> not hearing about any problem from my test engineer. >>> >> >> So this makes it all go away: >> >> --- //depot/user/bz/vimage/src/sys/dev/ixgbe/ixgbe.c 2010-06-09 >> 07:53:30.000000000 0000 >> +++ /zoo/bz/p4/bz_vimage/src/sys/dev/ixgbe/ixgbe.c 2010-06-09 >> 07:53:30.000000000 0000 >> --- /tmp/tmp.96356.27 2010-06-11 16:19:14.000000000 -0400 >> +++ /zoo/bz/p4/bz_vimage/src/sys/dev/ixgbe/ixgbe.c 2010-06-11 >> 16:16:02.000000000 -0400 >> @@ -3637,7 +3637,7 @@ ixgbe_setup_receive_ring(struct rx_ring >> goto skip_head; >> >> /* First the header */ >> - rxbuf->m_head = m_gethdr(M_WAITOK, MT_DATA); >> + rxbuf->m_head = m_gethdr(M_DONTWAIT, MT_DATA); >> if (rxbuf->m_head == NULL) { >> error = ENOBUFS; >> goto fail; >> @@ -3659,7 +3659,7 @@ ixgbe_setup_receive_ring(struct rx_ring >> >> skip_head: >> /* Now the payload cluster */ >> - rxbuf->m_pack = m_getjcl(M_WAITOK, MT_DATA, >> + rxbuf->m_pack = m_getjcl(M_DONTWAIT, MT_DATA, >> M_PKTHDR, adapter->rx_mbuf_sz); >> if (rxbuf->m_pack == NULL) { >> error = ENOBUFS; >> >> >> Are they running with WITNESS enabled to see the locking warnings? >> > > He's running with a recent version of STABLE/8 so probably does not have WITNESS on. So you think that causes the problem? I just went into the lab, he does have the WAITOK in the driver, and the system has 16 cores. So, I'm still not clear why you see a problem when he does not. I will change it back to NOWAIT in any case. Jack
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTilWCFyADb1ILa99nz2WIPb-JROhgSPeWGgPqhP5>