Re: [RFC][PATCH v2] slub: Keep page and object in sync in slab_alloc_node()
From: Joonsoo Kim <hidden>
Date: 2013-01-21 08:11:27
Also in:
linux-mm, lkml
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:quoted
CPU0 CPU1 ---- ----c = __this_cpu_ptr(s->cpu_slab); <migrates to CPU0>quoted
<cpu fetches c->page><another task>quoted
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?
quoted
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>
-- 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>