diff options
author | Oleg Nesterov <[email protected]> | 2013-07-08 14:24:18 -0700 |
---|---|---|
committer | Al Viro <[email protected]> | 2013-07-13 13:29:24 +0400 |
commit | fb4214db50b00558cc6e274c88b3f7325068e942 (patch) | |
tree | 17a68a322310eaeb5bd3c3885ccdd14191f8b7bd /tools/perf/scripts/python/netdev-times.py | |
parent | 4f5e65a1cc90bbb15b9f6cdc362922af1bcc155a (diff) |
llist: fix/simplify llist_add() and llist_add_batch()
1. This is mostly theoretical, but llist_add*() need ACCESS_ONCE().
Otherwise it is not guaranteed that the first cmpxchg() uses the
same value for old_entry and new_last->next.
2. These helpers cache the result of cmpxchg() and read the initial
value of head->first before the main loop. I do not think this
makes sense. In the likely case cmpxchg() succeeds, otherwise
it doesn't hurt to reload head->first.
I think it would be better to simplify the code and simply read
->first before cmpxchg().
Signed-off-by: Oleg Nesterov <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Andrey Vagin <[email protected]>
Cc: "Eric W. Biederman" <[email protected]>
Cc: David Howells <[email protected]>
Cc: Huang Ying <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Al Viro <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/netdev-times.py')
0 files changed, 0 insertions, 0 deletions