> This is interesting. Steffen, what driver are you using? All Nemo
 > based drivers should have db_ref == 1 while things like ce should
 > come in via ip_rput where a copymsg can be done.
 > 
 > So it seems like either we have a broken Nemo driver or something
 > weird is going on with ce.

I still don't understand the rationale for the 'db_ref == 1' assumption in
ip_input(); it means that we must always use copymsg() instead of dupmsg()
inside GLDv3 when passing the same message up multiple streams.  Among
other things, this leads to a substantial waste of memory and time when
passing messages up passive streams (e.g., to snoop), since each message
must be copied in-full for no reason.  Is all that worth it to save one
comparison in ip_input()?  (Did TSOL make ip_input() measurably slower
when they added the is_system_labeled() check?)

--
meem

Reply via email to