[PATCH v7 7/9] ARM: add vdso user-space code
Russell King - ARM Linux
linux at arm.linux.org.uk
Sun Jun 29 09:07:51 PDT 2014
On Sun, Jun 29, 2014 at 10:48:13AM -0500, Nathan Lynch wrote:
> On 06/29/2014 03:34 AM, Russell King - ARM Linux wrote:
> > On Sat, Jun 28, 2014 at 04:35:12PM -0500, Nathan Lynch wrote:
> >> That's consistent with my results on iMX6. The reported 1.00x "speedup"
> >> for clock-gettime-monotonic etc indicates the VDSO is falling back to
> >> syscall.
> >> Thanks for testing.
> > Here's another issue which cropped up when I ran this patch set through
> > the autobuilder last night - allnoconfig's now fail with:
> > mm/memory.c: In function 'gate_vma_init':
> > mm/memory.c:3410:22: error: 'FIXADDR_USER_START' undeclared (first use in this function)
> > mm/memory.c:3411:20: error: 'FIXADDR_USER_END' undeclared (first use in this function)
> > mm/memory.c: In function 'in_gate_area_no_mm':
> > mm/memory.c:3432:15: error: 'FIXADDR_USER_START' undeclared (first use in this function)
> > mm/memory.c:3432:46: error: 'FIXADDR_USER_END' undeclared (first use in this function)
> > make: *** [mm/memory.o] Error 1
> #ifdef CONFIG_KUSER_HELPERS
> #define __HAVE_ARCH_GATE_AREA 1
> #if !defined(__HAVE_ARCH_GATE_AREA)
> #if defined(AT_SYSINFO_EHDR)
> static struct vm_area_struct gate_vma;
> static int __init gate_vma_init(void)
> gate_vma.vm_mm = NULL;
> gate_vma.vm_start = FIXADDR_USER_START;
> gate_vma.vm_end = FIXADDR_USER_END;
> The vdso patches add an ARM definition for AT_SYSINFO_EHDR. So when
> CONFIG_KUSER_HELPERS=n, this code is pulled in now...
> Not sure what the fix would be right now. I don't understand why there
> is this relationship between AT_SYSINFO_EHDR and gate vma code.
Me neither. It looks like changing those tests for AT_SYSINFO_EHDR to
something like __HAVE_GATE_VMA or CONFIG_HAVE_GATE_VMA would be a good
step, so we can keep this disabled on ARM. I don't see a need for the
gate VMA stuff just because we have a vDSO.
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
More information about the linux-arm-kernel