Messages in this thread |  | | Date | Mon, 21 Jan 2013 17:11:21 +0900 | From | Joonsoo Kim <> | Subject | Re: [RFC][PATCH v2] slub: Keep page and object in sync in slab_alloc_node() |
| |
On Fri, Jan 18, 2013 at 10:55:01AM -0500, Steven Rostedt wrote: > On Fri, 2013-01-18 at 10:04 -0500, Steven Rostedt wrote: > > Just to be more complete: > > > CPU0 CPU1 > > ---- ---- > c = __this_cpu_ptr(s->cpu_slab); > <migrates to CPU0> > > > <cpu fetches c->page> > <another task> > > > updates c->tid > > updates c->page > > updates c->freelist > > <cpu fetches c->tid> > > <cpu fetches c->freelist> > > > > node_match() succeeds even though > > current c->page wont > > > > <migrates back to CPU 1>
Hello. I have one stupid question just for curiosity. Does the processor re-order instructions which load data from same cacheline?
> > this_cpu_cmpxchg_double() only tests > > the object (freelist) and tid, both which > > will match, but the page that was tested > > isn't the right one. > > > > Yes, it's very unlikely, but we are in the business of dealing with the > very unlikely. That's because in our business, the very unlikely is very > likely. Damn, I need to buy a lotto ticket! > > -- Steve > > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@kvack.org. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
|  |