Messages in this thread | | | Subject | Re: frequent softlockups with 3.10rc6. | From | Steven Rostedt <> | Date | Mon, 24 Jun 2013 13:04:36 -0400 |
| |
On Mon, 2013-06-24 at 12:51 -0400, Dave Jones wrote: > On Mon, Jun 24, 2013 at 12:24:39PM -0400, Steven Rostedt wrote: > > > > Ah, this is the first victim of my new 'check sanity of nodes during list walks' patch. > > > It's doing the same prev->next next->prev checking as list_add and friends. > > > I'm looking at getting it into shape for a 3.12 merge after some other preparatory patches > > > go into 3.11 > > > > OK, and you may need to make an exception for the ring buffer. To do a > > lockless swap out of the reader page for one of the pages in the buffer, > > it uses the 2 LSB as flags. Notice the "next=ffff880243288001", that "1" > > is a flag that states the next page is the "header" page (next to be > > read). We use cmpxchg to update the pages to handle races between the > > reader and writer. > > I just had a plumber come visit to replace my toilet. > I think even he would say "dude, gross" about that hack. >
Wow, that hack made you so sick you needed to replace your toilet?
Note, the idea of using the 2 LSB bits of pointers came from -rt. Where we do the same with the rt_mutex owner.
-- Steve
| |