On Fri, 11 Nov 2011, Christoph Lameter wrote: > This is a patchset that makes the allocator slow path also lockless like > the free paths. However, in the process it is making processing more > complex so that this is not a performance improvement. I am going to > drop this series unless someone comes up with a bright idea to fix the > following performance issues: > > 1. Had to reduce the per cpu state kept to two words in order to > be able to operate without preempt disable / interrupt disable only > through cmpxchg_double(). This means that the node information and > the page struct location have to be calculated from the free pointer. > That is possible but relatively expensive and has to be done frequently > in fast paths. > > 2. If the freepointer becomes NULL then the page struct location can > no longer be determined. So per cpu slabs must be deactivated when > the last object is retrieved from them causing more regressions. > > If these issues remain unresolved then I am fine with the way things are > right now in slub. Currently interrupts are disabled in the slow paths and > then multiple fields in the kmem_cache_cpu structure are modified without > regard to instruction atomicity. > I think patches 1-7 should be proposed as a separate set of cleanups that are an overall improvement to the slub code. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>