Re: [PATCH 6/6] cls_cgroup: remove redundant rcu_read_lock/unlock

From: Li Zefan
Date: Wed Feb 01 2012 - 02:17:27 EST


Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

>> diff --git a/net/core/sock.c b/net/core/sock.c
>> index 213c856..c0bab23 100644
>> --- a/net/core/sock.c
>> +++ b/net/core/sock.c
>> @@ -1160,9 +1160,7 @@ void sock_update_classid(struct sock *sk)
>> {
>> u32 classid;
>>
>> - rcu_read_lock(); /* doing current task, which cannot vanish. */
>> classid = task_cls_classid(current);
>> - rcu_read_unlock();
>> if (classid && classid != sk->sk_classid)
>> sk->sk_classid = classid;
>
> Yes, this seems fine.
>
> Then, I wonder why we do the "if (classid && classid != sk->sk_classid)"
>
> before the :
>
> sk->sk_classid = classid;
>
> This seems unnecessary checks.
>

I was wondering about this too. He who added this may provide us with an
answer.
--
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/