Messages in this thread | | | Subject | Re: [PATCH] UDPCP Communication Protocol | From | Eric Dumazet <> | Date | Fri, 31 Dec 2010 11:15:01 +0100 |
| |
Le vendredi 31 décembre 2010 à 10:29 +0100, stefani@seibold.net a écrit : > + spin_lock_irqsave(&spinlock, flags); > + udpcp_stat.txMsgs++; > + spin_unlock_irqrestore(&spinlock, flags);
This is really ugly for different reasons :
1) Naming a lock, even static "spinlock" is ugly. 2) Using a lock for stats is not necessary, and disabling hard irqs is not necessary either (spinlock_bh() would be more than enough)
At a very minimum, you should use atomic_t so that no lock is needed
3) Network stack widely use MIB per_cpu counters. As you use UDP, you could take a look at UDP_INC_STATS_BH()/ UDP_INC_STATS_USER() implementation for an example.
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |