Messages in this thread | | | From | Andy Lutomirski <> | Date | Fri, 21 Nov 2014 16:41:22 -0800 | Subject | Re: frequent lockups in 3.18rc4 |
| |
On Fri, Nov 21, 2014 at 4:18 PM, Linus Torvalds <torvalds@linux-foundation.org> wrote: > On Fri, Nov 21, 2014 at 4:11 PM, Tejun Heo <tj@kernel.org> wrote: >> >> I don't think there's much percpu allocator itself can do. The >> ability to grow dynamically comes from being able to allocate >> relatively consistent layout among areas for different CPUs and pretty >> much requires vmalloc area and it'd generally be a good idea to take >> out the vmalloc fault anyway. > > Why do you guys worry so much about the vmalloc fault? > > This started because of a very different issue: putting the actual > stack in vmalloc space. Then it can cause nasty triple faults etc. > > But the normal vmalloc fault? Who cares, really? If that causes > problems, they are bugs. Fix them.
Because of this in system_call_after_swapgs:
movq %rsp,PER_CPU_VAR(old_rsp) movq PER_CPU_VAR(kernel_stack),%rsp
It occurs to me that, if we really want to change that, we could have an array of syscall trampolines, one per CPU, that have the CPU number hardcoded. But I really don't think that's worth it.
Other than that, with your fix, vmalloc faults are no big deal :)
--Andy
| |