On Thu, 15 Jan 2015 21:27:14 -0600 (CST) Christoph Lameter <cl@xxxxxxxxx> wrote: > > The %gs register is not used since the address of the per cpu area is > available as one of the first fields in the per cpu areas. Have you disassembled your code? Looking at put_cpu_partial() from 3.19-rc3 where it does: oldpage = this_cpu_read(s->cpu_slab->partial); I get: mov %gs:0x18(%rax),%rdx Looks to me that %gs is used. I haven't done benchmarks in a while, so perhaps accessing the %gs segment isn't as expensive as I saw it before. I'll have to profile function tracing on my i7 and see where things are slow again. -- Steve -- 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>