Hmm wait, I could probably do the compare to whats in the ring buffer ;-D
R On Feb 5, 2013, at 2:04 PM, Randall Stewart wrote: > Hmm > > That would trade off a stack pointer + a compare > vs always doing the move. > > Thats fine until I have to add the _mc() version, then the put > back would be an atomic, and most of the time the return from > this is probably not changed… > > I really would prefer not to since the compare and maybe store vs > the always store.. though the same now, would be far more expensive > in the _mc version.. if we do a _mc version of course ;-) > > But I am willing to do whatever .. since this really needs to be fixed. > > R > On Feb 5, 2013, at 1:52 PM, John Baldwin wrote: > >> On Tuesday, February 05, 2013 12:44:01 pm Randall Stewart wrote: >>> Actually, no it is used. >>> >>> If you look in if_var.h int he drbr_putback() function, it does >>> a buf_ring_swap when the old mbuf pointer does not equal the >>> new mbuf pointer. This *does* happen, I crashed at least once >>> yesterday when the igb driver did something to free the original >>> mbuf and return a new mbuf with the data (prepend or some such). >>> >>> I also have found several issues that I have fixed this morning.. its been >>> crash city on my test beds.. >>> >>> Here is the latest patch with all fixes and suggested changes from emaste >> (thanks Ed) >> >> Actually, one more suggestion then (since you have to keep putback). It >> would be nice to not have to require 'snext' in all the callers. How >> about replace buf_ring_swap() with a buf_ring_putback_sc() that accepts the >> mbuf and just stores it at the head unconditionally and have drbr_putback() >> use that? >> >> -- >> John Baldwin >> _______________________________________________ >> freebsd-net@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-net >> To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org" >> > > ------------------------------ > Randall Stewart > 803-317-4952 (cell) > > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org" > ------------------------------ Randall Stewart 803-317-4952 (cell) _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"