[PATCH] unnecessary blocking interrupts in exit_notify()

From: Jun Sun (jsun@mvista.com)
Date: Fri Mar 17 2000 - 19:16:27 EST


Linus,

Would you please take this patch? It improves interrupt responsiveness,
especially important for embedded systems.

*. It removes the unnecessary blocking of interrupt in exit_notify().
*. In NIST POSIX test on a PII 266 machine, this function blocks
   interrupts for 450 us. The number is much larger in the same test
   on a slower powerpc machine.
*. No effect on performance (it actually improves performance slightly)
*. Tested and verified on my workstation and the target machine.

Regards.

Jun

--- linux-2.3.99-pre1/kernel/exit.c Mon Mar 13 14:56:06 2000
+++ linux/kernel/exit.c Fri Mar 17 15:58:15 2000
@@ -360,7 +360,7 @@
          * jobs, send them a SIGHUP and then a SIGCONT. (POSIX 3.2.2.2)
          */
 
- write_lock_irq(&tasklist_lock);
+ write_lock(&tasklist_lock);
         while (current->p_cptr != NULL) {
                 p = current->p_cptr;
                 current->p_cptr = p->p_osptr;
@@ -384,15 +384,15 @@
                     (p->session == current->session)) {
                         int pgrp = p->pgrp;
 
- write_unlock_irq(&tasklist_lock);
+ write_unlock(&tasklist_lock);
                         if (is_orphaned_pgrp(pgrp) && has_stopped_jobs(pgrp)) {
                                 kill_pg(pgrp,SIGHUP,1);
                                 kill_pg(pgrp,SIGCONT,1);
                         }
- write_lock_irq(&tasklist_lock);
+ write_lock(&tasklist_lock);
                 }
         }
- write_unlock_irq(&tasklist_lock);
+ write_unlock(&tasklist_lock);
 
         if (current->leader)
                 disassociate_ctty(1);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Mar 23 2000 - 21:00:22 EST