Re: [RFC PATCH] locks:Remove spinlock in unshare_files

From: Ling Ma
Date: Mon Mar 16 2020 - 09:25:23 EST


Any comments ?

Thanks
Ling

<ling.ma.program@xxxxxxxxx> ä2020å3æ13æåä äå11:09åéï
>
> From: Ma Ling <ling.ml@xxxxxxxxxx>
>
> Processor support atomic operation for long/int/short/char type,
> we use the feature to avoid spinlock, which cost hundreds cycles.
>
> Appreciate your comments
> Ling
>
> Signed-off-by: Ma Ling <ling.ml@xxxxxxxxxx>
> ---
> kernel/fork.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/kernel/fork.c b/kernel/fork.c
> index 60a1295..fe54600 100644
> --- a/kernel/fork.c
> +++ b/kernel/fork.c
> @@ -3041,9 +3041,7 @@ int unshare_files(struct files_struct **displaced)
> return error;
> }
> *displaced = task->files;
> - task_lock(task);
> - task->files = copy;
> - task_unlock(task);
> + WRITE_ONCE(task->files, copy);
> return 0;
> }
>
> --
> 1.8.3.1
>