Re: [PATCH 02/18] flag parameters: socket and socketpair

From: Davide Libenzi
Date: Mon May 05 2008 - 22:13:29 EST


On Mon, 5 May 2008, Andrew Morton wrote:

> On Sun, 4 May 2008 23:42:46 -0400 Ulrich Drepper <drepper@xxxxxxxxxx> wrote:
>
> > +static const struct flags_rmap sock_file_flags_remap[] = {
> > + { SOCK_CLOEXEC, O_CLOEXEC },
> > +};
> > +
> > asmlinkage long sys_socket(int family, int type, int protocol)
> > {
> > int retval;
> > struct socket *sock;
> > + int fflags;
> > +
> > + type = flags_remap(sock_file_flags_remap,
> > + ARRAY_SIZE(sock_file_flags_remap),
> > + type, &fflags);
>
> oh, so that's what it does.
>
> afaict we only ever remap one or two flags. Would it not be more efficient
> to do that inline? Something along the lines of:
>
> type = flag_remap(type, &fflags, SOCK_whatever, O_whatever);
> type = flag_remap(type, &fflags, SOCK_whatever2, O_whatever2);
>
> ?

I think it is better to keep it able to remap more than one flag, with a
single call, that is table driven.



- Davide


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