[svn-commits] sruffell: linux/trunk r9413 - /linux/trunk/drivers/dahdi/dahdi-base.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Fri Sep 24 17:45:06 CDT 2010


Author: sruffell
Date: Fri Sep 24 17:45:03 2010
New Revision: 9413

URL: http://svnview.digium.com/svn/dahdi?view=rev&rev=9413
Log:
dahdi: process_timers is already called with interrupts disabled.

Very slight performance increase when timertest is running in the
background.  Measured at ~10 ns improvement over 10K samples.

Signed-off-by: Shaun Ruffell <sruffell at digium.com>
Acked-by: Kinsey Moore <kmoore at digium.com>
Acked-by: Russ Meyerriecks <rmeyerriecks at digium.com>
Acked-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>
Review: https://reviewboard.asterisk.org/r/940/

Modified:
    linux/trunk/drivers/dahdi/dahdi-base.c

Modified: linux/trunk/drivers/dahdi/dahdi-base.c
URL: http://svnview.digium.com/svn/dahdi/linux/trunk/drivers/dahdi/dahdi-base.c?view=diff&rev=9413&r1=9412&r2=9413
==============================================================================
--- linux/trunk/drivers/dahdi/dahdi-base.c (original)
+++ linux/trunk/drivers/dahdi/dahdi-base.c Fri Sep 24 17:45:03 2010
@@ -8162,11 +8162,12 @@
 
 static void process_timers(void)
 {
-	unsigned long flags;
 	struct dahdi_timer *cur;
 
-	spin_lock_irqsave(&dahdi_timer_lock, flags);
-
+	if (list_empty(&dahdi_timers))
+		return;
+
+	spin_lock(&dahdi_timer_lock);
 	list_for_each_entry(cur, &dahdi_timers, list) {
 		if (cur->ms) {
 			cur->pos -= DAHDI_CHUNKSIZE;
@@ -8177,8 +8178,7 @@
 			}
 		}
 	}
-
-	spin_unlock_irqrestore(&dahdi_timer_lock, flags);
+	spin_unlock(&dahdi_timer_lock);
 }
 
 static unsigned int dahdi_timer_poll(struct file *file, struct poll_table_struct *wait_table)




More information about the svn-commits mailing list