> 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
