On Fri, Feb 19, 2016 at 6:32 PM, Will Deacon <will.dea...@arm.com> wrote: > On Fri, Feb 19, 2016 at 10:30:09AM +0800, Zhi-zhou wrote: >> On Thu, Feb 18, 2016 at 7:58 PM, Catalin Marinas >> <catalin.mari...@arm.com> wrote: >> > >> > On Thu, Feb 18, 2016 at 07:48:35PM +0800, Zhi-zhou Zhang wrote: >> > > From: zhizhou <zhizhou...@gmail.com> >> > > >> > > This patch is based on the implementation of arm. The generic >> > > current_pt_regs is implemented with current->stack. It need to access >> > > memory that would be too expensive. >> > >> > Do you have any performance numbers? >> >> I'm using QEMU, so no. Actually this macro isn't heavily used. I just >> think using the generic >> implementation is not very nice. It get task_struct from sp_el0, then >> get stack(which is >> equal to sp_el0) from task_struct. There are two unnecessary memory accesses. > > I'd much rather use the generic implementation unless there's a compelling > reason not to. "I think it's not very nice" doesn't really cut it for me! Refer to memory twice may incur cache eviction. I'm really a newbie to kernel. Anyway, I have a look at kernel and I'm very curious what's the 'compelling reason' of 16 architectures implement their own current_pt_regs? > > Will
-- Regards, Zhizhou