Messages in this thread | | | Date | Thu, 15 Jan 2015 22:51:30 -0500 | From | Steven Rostedt <> | Subject | Re: [PATCH v2 1/2] mm/slub: optimize alloc/free fastpath by removing preemption on/off |
| |
On Thu, 15 Jan 2015 21:27:14 -0600 (CST) Christoph Lameter <cl@linux.com> 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
| |