Re: [PATCH] fork.c: cleanup for copy_sighand()

From: Andrew Morton
Date: Tue Nov 04 2008 - 18:59:05 EST


On Fri, 31 Oct 2008 16:51:19 +0800
Zhaolei <zhaolei@xxxxxxxxxxxxxx> wrote:

> Check CLONE_SIGHAND only is enough, because combination of CLONE_THREAD and
> CLONE_SIGHAND is already done in copy_process().
>
> Impact: cleanup, no functionality changed
>
> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
> ---
> kernel/fork.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/kernel/fork.c b/kernel/fork.c
> index f608356..36a0dac 100644
> --- a/kernel/fork.c
> +++ b/kernel/fork.c
> @@ -741,7 +741,7 @@ static int copy_sighand(unsigned long clone_flags, struct task_struct *tsk)
> {
> struct sighand_struct *sig;
>
> - if (clone_flags & (CLONE_SIGHAND | CLONE_THREAD)) {
> + if (clone_flags & CLONE_SIGHAND) {
> atomic_inc(&current->sighand->count);
> return 0;
> }

OK, it appears to be correct and might yield a tiny speedup on some
architectures.

But whether this change is desirable from a clarity and maintainability
point of view is unclear to me. Let's add the cc's..

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