lkml.org 
[lkml]   [2000]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [patch-2.3.43-pre5] optimized vhangup(2)
On Wed, 9 Feb 2000, Tigran Aivazian wrote:

> Hi Linus,
>
> The patch below does this to fs/open.c:sys_vhangup()
>
> a) removes a goto
>
> b) removes a local variable
>
> c) reduces the length of holding big kernel lock

If you're going to "optimize" things, don't make the code generated worse
by introducing a branch in the normal case. Yeash. (Below is an
untested, hand edited version of the previous patch.)

-ben

--- open.c.0 Wed Feb 9 12:53:07 2000
+++ open.c Wed Feb 9 12:53:44 2000
@@ -898,16 +898,9 @@
*/
asmlinkage long sys_vhangup(void)
{
- int ret = -EPERM;
-
- if (!capable(CAP_SYS_TTY_CONFIG))
- goto out;
- /* If there is a controlling tty, hang it up */
- lock_kernel();
- if (current->tty)
- tty_vhangup(current->tty);
- if (current->tty)
- unlock_kernel();
- ret = 0;
-out:
- return ret;
+ if (capable(CAP_SYS_TTY_CONFIG)) {
+ if (current->tty)
+ tty_vhangup(current->tty);
+ return 0;
+ }
+ return -EPERM;
}


-
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/

\
 
 \ /
  Last update: 2005-03-22 13:56    [W:0.068 / U:0.448 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site