Re: [PATCH 00/28] nios2 Linux kernel port

From: Catalin Marinas
Date: Thu Apr 24 2014 - 11:29:11 EST


On Thu, Apr 24, 2014 at 09:55:25AM +0100, Chung-Lin Tang wrote:
> On 2014/4/24 02:26 PM, Chung-Lin Tang wrote:
> > On 2014/4/24 äå 02:15, Pinski, Andrew wrote:
> >>
> >>>> On Apr 23, 2014, at 10:59 AM, "Chung-Lin Tang" <cltang@xxxxxxxxxxxxxxxx> wrote:
> >>>>
> >>>>>> On 2014/4/22 07:20 PM, Ley Foon Tan wrote:
> >>>>>> On Tue, Apr 22, 2014 at 6:56 PM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> >>>>>>>>>> On Tuesday 22 April 2014 18:37:11 Ley Foon Tan wrote:
> >>>>>>>>>>>>>> Hi Arnd and Peter Anvin,
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Other than 64-bit time_t, clock_t and suseconds_t, can you confirm
> >>>>>>>>>>>>>> that we don't need to have 64 bit off_t? See detail in link below.
> >>>>>>>>>>>>>> I can submit the patches for 64-bit time changes
> >>>>>>>>>>>>>> (include/asm-generic/posix_types.h and other archs) if everyone is
> >>>>>>>>>>>>>> agreed on this.
> >>>>>>>>>>
> >>>>>>>>>> Yes.
> >>>>>> Okay, will doing that.
> >>>>
> >>>> I believe that arm64 ILP32 will also be affected. What is the status of
> >>>> this configuration? Has the glibc/kernel ABI been finalized?
> >> Not yet. I am still working out the signal handling part. But we
> >> already agreed on 64bit time_t, clock_t, and suseconds_t. And we
> >> agreed to a 64bit offset_t too.
> >>
> >> On a related note suseconds in the timespec in posix is defined to
> >> be long. So it would nice if the kernel ignores the upper 32bits so
> >> we (glibc developers) can fix this for new targets including x32
> >> and arm64/ilp32.
> >
> > Hmm, but that means for purely 32-bit architectures like nios2, which
> > unlike x86_64 or arm64, never has a 64-bit mode, suseconds_t as a 64-bit
> > type in the kernel is simply wasted.
>
> The more I think of this, the more I feel that suseconds_t should jsut
> be 'long', not strictly 64-bitified. An ILP32 sub-mode in a 64-bit
> kernel should be using compat_* code paths, something like a
> COMPAT_USE_32BIT_SUSECONDS case.

ILP32 mode should use LP64 syscalls as much as possible and that's the
aim with arm64 as well (of course, we still have a few that wouldn't be
possible and we route them via compat).

But here if time_t is 64-bit while susecconds_t is 32-bit, the compat
code wouldn't help.

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