Skip to content
  • Chris Wilson's avatar
    list: Expand list_first_entry_or_null() · 12adfd88
    Chris Wilson authored
    
    
    Due to the use of READ_ONCE() in list_empty() the compiler cannot
    optimise !list_empty() ? list_first_entry() : NULL very well. By
    manually expanding list_first_entry_or_null() we can take advantage of
    the READ_ONCE() to avoid the list element changing under the test while
    the compiler can generate smaller code.
    
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Josef Bacik <jbacik@fb.com>
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    12adfd88