Provided by:
linux-doc-2.6.15_2.6.15-23.39_all 
NAME
list_empty_careful - tests whether a list is
SYNOPSIS
int list_empty_careful (const struct list_head * head);
ARGUMENTS
head the list to test.
DESCRIPTION
empty _and_ checks that no other CPU might be in the process of still
modifying either member
NOTE
using list_empty_careful without synchronization can only be safe if
the only activity that can happen to the list entry is list_del_init.
Eg. it cannot be used if another CPU could re-list_add it.