1. 07 1月, 2012 1 次提交
  2. 05 1月, 2012 3 次提交
  3. 04 1月, 2012 1 次提交
  4. 23 12月, 2011 1 次提交
  5. 22 12月, 2011 16 次提交
  6. 16 12月, 2011 1 次提交
  7. 15 12月, 2011 7 次提交
  8. 14 12月, 2011 3 次提交
    • P
      kref: Remove the memory barriers · 3c8ed889
      Peter Zijlstra 提交于
      Commit 1b0b3b99 ("kref: fix CPU ordering with respect to krefs")
      wrongly adds memory barriers to kref.
      
      It states:
      
        some atomic operations are only atomic, not ordered. Thus a CPU is allowed
        to reorder memory references to an object to before the reference is
        obtained. This fixes it.
      
      While true, it fails to show why this is a problem. I say it is not a
      problem because if there is a race with kref_put() such that we could
      end up referencing a free'd object without this memory barrier, we
      would still have that race with the memory barrier.
      
      The kref_put() in question could complete (and free the object) before
      the atomic_inc() and we'd still be up shit creek.
      
      The kref_init() case is even worse, if your object is published at this
      time you're so wrong the memory barrier won't make a difference what
      so ever. If its not published, the act of publishing should include
      the needed barriers/locks to make sure all writes prior to the act of
      publishing are complete such that others will only observe a complete
      object.
      
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Oliver Neukum <oneukum@suse.de>
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      3c8ed889
    • P
      kref: Implement kref_put in terms of kref_sub · 47dbd7d9
      Peter Zijlstra 提交于
      Less lines of code is better.
      
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      47dbd7d9
    • P
      kref: Inline all functions · 4af679cd
      Peter Zijlstra 提交于
      These are tiny functions, there's no point in having them out-of-line.
      
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-8eccvi2ur2fzgi00xdjlbf5z@git.kernel.orgSigned-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4af679cd
  9. 13 12月, 2011 5 次提交
  10. 10 12月, 2011 2 次提交