Re: [PATCH v2 0/4] vDSO fixes, on top of tip/x86/vdso

From: Stefani Seibold
Date: Sat Mar 01 2014 - 09:02:35 EST


Am Freitag, den 28.02.2014, 12:15 -0800 schrieb Andy Lutomirski:
> On Thu, Feb 27, 2014 at 11:33 PM, Stefani Seibold <stefani@xxxxxxxxxxx> wrote:
> > Am Donnerstag, den 27.02.2014, 16:18 -0800 schrieb Andy Lutomirski:
> >> I'd still like someone else to confirm that the 32-bit vDSO is working
> >> on all common configurations before I'm happy with it, but this should
> >> be a considerable improvement.
> >>
> >> Someone who maintains the clock code should review the changes in:
> >>
> >> commit 0fc8a237cbe98a06962f5ea37d24fc2369e23c74
> >> Author: Stefani Seibold <stefani@xxxxxxxxxxx>
> >> Date: Wed Feb 19 10:09:10 2014 +0100
> >>
> >> x86, vdso: Add 32-bit VDSO time support for the 64-bit kernel
> >>
> >> very carefully.
> >>
> >> There's still something extremely questionable about VDSO_PAGES in the
> >> 32-bit vDSO code. It appears to be terminally screwed up, and AFAICS it
> >> only works at all because none of the 32-bit vDSO images ever exceed
> >> 4096 bytes.
> >>
> >
> > The 4096 bytes limit was not introduced by the patch set. It is still
> > there for compatibility reason.
>
> Compatibility with what? And it doesn't look like there's a sane 4k
> "limit". It looks like the code with confuse itself and crash if the
> image exceeds 4k.
>

Compatibility with the VDSO compat mode! Since the address is fixed in
the FIXMAP area and should not changed there is no easy way to extend
the size of the code.

One possibility is to move the VDSO code before the VDSO compat fixmap
area and create a helper VDSO for the VDSO compat fixmap page, which has
a kind a trampolin code which calls the real VDSO. But this would result
in a performance regression for the VDSO compat mode.

- Stefani

--
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/