Re: [PATCH v2 1/2] mm/slub: optimize alloc/free fastpath by removing preemption on/off

From: Steven Rostedt
Date: Thu Jan 15 2015 - 22:51:23 EST


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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/