Example continued The code to add an element to the list is: static inline void __list_add(struct list_head *new, struct list_head *prev, struct list_head *next) { next->prev = new; new->next = next; new->prev = prev; prev->next = new; } It yields results like: What if two processors add an element simultaneously?