Thank you for your answer. I have actually read some articles like this ones: http://lwn.net/Articles/262464/ http://lwn.net/Articles/263130/ I think I understood how I should normally use it, but not how it really works. I found lots of code snippets in internet and it seems to be very easy to use, but when I try to get more information it gets more complicated. Although the code is wrong, do you think it could be possible what I want to do? I mean, could it be possible in theory to "shift" the header in order to make a ring buffer. Anyway I will try to get more information about the linked list and RCU. I have a lot of things to learn!! :) Best regards and thank you again 2011/6/22 Johannes Berg <johannes@xxxxxxxxxxxxxxxx>: > On Wed, 2011-06-22 at 11:15 +0200, Manuel Sáez wrote: > >> and the read side: >> rcu_read_lock(); >> rcu_derreference(sdata->u.ap.polling_list->sta); >> copy_sta(sdata->u.ap.polling_list->sta); >> rcu_read_unlock(); >> >> sdata->u.ap.polling_list = sdata.u.ap.polling_list->next; > > This code snippet makes no sense at all. I suggest you read up on how > RCU works first. > > johannes > > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html