On Thu, 2013-01-17 at 21:56 +0000, Christoph Lameter wrote:
on Thu, 17 Jan 2013, Christoph Lameter wrote:
quoted
Ditto which leaves us with:
Index: linux/mm/slub.c
===================================================================
--- linux.orig/mm/slub.c 2013-01-17 15:49:57.417491975 -0600
+++ linux/mm/slub.c 2013-01-17 15:50:49.010287150 -0600
@@ -1993,8 +1993,9 @@ static inline void flush_slab(struct kme
deactivate_slab(s, c->page, c->freelist);
c->tid = next_tid(c->tid);
- c->page = NULL;
c->freelist = NULL;
+ barrier();
+ c->page = NULL;
}
But the larger question is why is flush_slab() called with interrupts
enabled?
RT?
Could be, there's a few tweaks made in -rt. I'll put in a WARN_ON_ONCE()
if flush_slab() is called with interrupts enabled just to see where it
happens.
-- 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>