On Mon, Apr 16, 2012 at 05:35:03PM +0200, Daniel Wagner wrote:
quoted hunk
From: Daniel Wagner <redacted>
Do not make the cache line dirty when nothing has changed.
sock_update_classid() does exactly the same thing.
Signed-off-by: Daniel Wagner <redacted>
CC: Neil Horman <redacted>
CC: Tejun Heo <redacted>
CC: Li Zefan <redacted>
---
net/core/sock.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/net/core/sock.c b/net/core/sock.c
index c7e60ea..75c4b72 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -1190,10 +1190,14 @@ EXPORT_SYMBOL(sock_update_classid);
void sock_update_netprioidx(struct sock *sk)
{
+ u32 prioidx;
+
if (in_interrupt())
return;
- sk->sk_cgrp_prioidx = task_netprioidx(current);
+ prioidx = task_netprioidx(current);
+ if (prioidx != sk->sk_cgrp_prioidx)
+ sk->sk_cgrp_prioidx = prioidx;
}
EXPORT_SYMBOL_GPL(sock_update_netprioidx);
#endif--
1.7.10.130.g36e6c
Acked-by: Neil Horman <redacted>