public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Bill Davidsen <davidsen@tmr.com>
To: Telemaque Ndizihiwe <telendiz@eircom.net>
Cc: akpm@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Replaces two GOTO statements with one IF_ELSE statement in   /fs/open.c
Date: Mon, 20 Jun 2005 18:06:59 -0400	[thread overview]
Message-ID: <42B73E03.9020900@tmr.com> (raw)
In-Reply-To: <Pine.LNX.4.62.0506201834460.5008@localhost.localdomain>

Telemaque Ndizihiwe wrote:
> 
> This Patch replaces two GOTO statements and their corresponding LABELs
> with one IF_ELSE statement in /fs/open.c, 2.6.12 kernel.
> The patch keeps the same implementation of sys_open system call, it only 
> makes the code smaller and easy to read.

Full credit with making the code more readable and maintainable. I'd 
like to look at the code generated to see if you have introduced a 
slowdown, however. My personal preference is for readable code and let 
the compiler sort it out, but I know there are people who would trade 
ugly code to save a cycle even in seldom-used code paths.

You might like to see if "unlikely" halps the code, I won't have a 
recent compiler until tomorrow night, since I'm locked into AS3.0 (gcc 
3.2.3) today and tomorrow. Oops, I do have 3.3.2 on my lappie, but 
that's still old.

> 
> Signed-off-by: Telemaque Ndizihiwe <telendiz@eircom.net>
> 
> 
> --- linux-2.6.12/fs/open.c.orig    2005-06-20 15:15:52.000000000 +0100
> +++ linux-2.6.12/fs/open.c    2005-06-20 15:38:47.580923552 +0100
> @@ -945,19 +945,16 @@ asmlinkage long sys_open(const char __us
>          if (fd >= 0) {
>              struct file *f = filp_open(tmp, flags, mode);
>              error = PTR_ERR(f);
> -            if (IS_ERR(f))
> -                goto out_error;
> -            fd_install(fd, f);
> +            if (IS_ERR(f)) {
> +                put_unused_fd(fd);
> +                fd = error;
> +            } else {
> +                fd_install(fd, f);
> +            }
>          }
> -out:
>          putname(tmp);
>      }
>      return fd;
> -
> -out_error:
> -    put_unused_fd(fd);
> -    fd = error;
> -    goto out;
>  }
>  EXPORT_SYMBOL_GPL(sys_open);
> 


  parent reply	other threads:[~2005-06-20 22:40 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-20 18:18 [PATCH] Replaces two GOTO statements with one IF_ELSE statement in /fs/open.c Telemaque Ndizihiwe
2005-06-20 18:43 ` Jeff Garzik
2005-06-20 18:54   ` Christoph Lameter
2005-06-20 19:51     ` Joel Schopp
2005-06-20 20:38     ` Andrew Morton
2005-06-21  8:57       ` Martin Waitz
2005-06-21 16:05         ` Linus Torvalds
2005-06-20 19:07 ` Richard B. Johnson
2005-06-20 20:34   ` Mitchell Blank Jr
2005-06-20 22:06 ` Bill Davidsen [this message]
     [not found] <Pine.LNX.4.62.0506201834460.5008@localhost.localdomain.suse.lists.linux.kernel>
     [not found] ` <42B70E62.5070704@pobox.com.suse.lists.linux.kernel>
     [not found]   ` <Pine.LNX.4.62.0506201154300.2245@graphe.net.suse.lists.linux.kernel>
     [not found]     ` <20050620133800.0dac1d97.akpm@osdl.org.suse.lists.linux.kernel>
2005-06-21 11:27       ` Andi Kleen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42B73E03.9020900@tmr.com \
    --to=davidsen@tmr.com \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=telendiz@eircom.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox