Re: [PATCH 00/16] (Resend) Use get_personality()

From: WANG Cong
Date: Sat Feb 23 2008 - 05:01:48 EST


From: Alexey Dobriyan <adobriyan@xxxxxxxxx>
Subject: Re: [PATCH 00/16] (Resend) Use get_personality()
Date: Sat, 23 Feb 2008 12:27:10 +0300
Message-ID: <20080223092710.GD2262@xxxxxxxxxxxxxxxxxxxxxx>

> On Sat, Feb 23, 2008 at 04:59:44PM +0800, WANG Cong wrote:
> > From: Alexey Dobriyan <adobriyan@xxxxxxxxx>
> > Subject: Re: [PATCH 00/16] (Resend) Use get_personality()
>
> > > On Sat, Feb 23, 2008 at 04:14:03PM +0800, WANG Cong wrote:
> > > > This patchset makes the macro get_personality function alike
> > > > and teaches code to use get_personality() instead of explicit
> > > > reference.
> > > >
> > > > [I am sorry if you've received multiple copied of this, since
> > > > my git-send-email doesn't work well. ]
> > >
> > > Yes, but why? "current->personality" is way more understandable than
> > > your macro because task subject to dereference is very visible.
> >
> > Use get_personality() can hide the task_struct internals a bit.
>
> ->personality is going to become something less trivial?
> Sorry, but you sound like C++ people writing tons of pointless get/set
> wrappers. And your get_personality() is worse -- C++ would write it as
>
> current->personality()
>
> and again, even here, it's immediately visible that current task is
> involved, not some other task.
>

Can't get_personality() mean getting the personality of current task?

Or you want a more generic macro like this?

#define get_task_personality(tsk) ((tsk)->personality)

No, that is _too_ generic. Look at the code, (nearly) all references to
'personality' are via 'current'. So get_personality() is enough.

I am not a fan of C++, I know that sometimes the get/set method in C++
is really a bit pointless, but, of course, *not* all the times.

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