Does Netgraph in FBSD 5.x SMP requires GIANT lock?

Julian Elischer julian at elischer.org
Thu Jun 5 23:22:16 PDT 2003



On Thu, 5 Jun 2003, Vincent Jardin wrote:

> Maybe one giant2thread node could be introduced into the graphs. It could=
 put=20
> the messages and the mbufs into a queue from a giant context, then they c=
ould=20
> be processed from a thread.


there is alreadya lock per node, with read/write/try semantics

If you cannot get the lock you queue your data for processing by
whoever has the lock..
usually there si no collision, especially since most processing only
needs a reader lock, of which there may be more than one.

>=20
> Is it a possible architecture or do I forget something ?
>=20
> Regards,
>   Vincent
>=20
> Le Jeudi 5 Juin 2003 13:38, Julian Elischer a =E9crit :
> > On Thu, 5 Jun 2003, Michael Shiu wrote:
> > > Dear all,
> > >
> > > Just like to know if the netgraph code running 5.x SMP kernel require=
s
> > > the GIANT lock?
> >
> > Netgraph has lovking  built into it but I have not
> > had teh time yet to "thrown the switch" and run it without
> > giant. (actually it would only have giant if the edge node that
> > introduces the packet has giant, or if it's running
> > as a net thread.)
> >
> > What is your graph like?
> >
> > > I have the netgraph doing bridging right now but the performance is
> > > limited by the CPU (right now, it is something around 100k pkt/s in
> > > 4-STABLE). Does adding another CPU together with upgrading to 5.x be =
of
> > > any help? I guess the bottleneck right now is only one thread is
> > > executing in interrupt context with GIANT being held. Am I right?
> > >
> > > _Michael
> > >
> > > _______________________________________________
> > > freebsd-net at freebsd.org mailing list
> > > http://lists.freebsd.org/mailman/listinfo/freebsd-net
> > > To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org=
"
> >
> > _______________________________________________
> > freebsd-net at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-net
> > To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>=20
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>=20



More information about the freebsd-net mailing list