From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guo Ren Subject: Re: [PATCH V4 00/27] C-SKY(csky) Linux Kernel Port Date: Sat, 15 Sep 2018 00:02:32 +0800 Message-ID: <20180914160231.GA32161@guoren-Inspiron-7460> References: <20180914143719.GA27689@guoren-Inspiron-7460> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Arnd Bergmann Cc: linux-arch , Linux Kernel Mailing List , Thomas Gleixner , Daniel Lezcano , Jason Cooper , DTML , andrea.parri@amarulasolutions.com, Peter Zijlstra , c-sky_gcc_upstream@c-sky.com, gnu-csky@mentor.com, Thomas Petazzoni , wbx@uclibc-ng.org, Greentime Hu , Stephen Rothwell List-Id: linux-arch.vger.kernel.org On Fri, Sep 14, 2018 at 04:46:56PM +0200, Arnd Bergmann wrote: > On Fri, Sep 14, 2018 at 4:37 PM Guo Ren wrote: > > On Wed, Sep 12, 2018 at 04:30:36PM +0200, Arnd Bergmann wrote: > > > On Wed, Sep 12, 2018 at 3:25 PM Guo Ren wrote: > > > > > > One big question for me is what to do about time_t. Deepa and I are > > > in the process of finalizing the system call ABI for 32-bit architectures > > > with 64-bit time_t, but we are not done yet and it won't be complete > > > for 4.20. If you target 4.21, that could be a chance to make csky the > > > first architecture to only need the 64-bit time_t interface, with the > > > corresponding user space changes. > > y2038 is very important and csky32 has the issue. But 4.21 is too late for > > us, we really want to get into kernel.org as soon as possible. > > We could remove 32-bit time_t in future. > > Not really: the way we deal with user-visible APIs in the kernel, it's > practically impossible to remove something that was working before, > since there may always be users relying on it. This is why it is so > important that we get the ABI right at the first try. > > We can always add new ABIs later, and that's what we're doing with > all the other 32-bit architectures as well: each system call that takes a > 32-bit time_t argument also needs to get the corresponding 64-bit > replacement, and then we have to keep them both around. > > However, once the 64-bit syscalls are there, you don't need to > use them, so if you merge the glibc port after both csky and > the time64 syscalls are merged upstream, you can choose > to only support the time64 syscalls rather than making it a compile > time decision in each application. If you merge the glibc port > before migrating to 64-bit syscalls, glibc will also have to support > both indefinitely for compatibility with existing binaries. > > One level below that, you can of course choose to build > a distro with only 64-bit time_t regardless of whether there > is still support for 32-bit time_t in kernel and glibc or not. Do you mean I could merge kernel port into linux-4.19 or linux-4.20. But let glibc merged after linux-4.21 and csky glibc only support time64 syscalls ? Best Regards Guo Ren From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp2200-217.mail.aliyun.com ([121.197.200.217]:60483 "EHLO smtp2200-217.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726845AbeINVRz (ORCPT ); Fri, 14 Sep 2018 17:17:55 -0400 Date: Sat, 15 Sep 2018 00:02:32 +0800 From: Guo Ren Subject: Re: [PATCH V4 00/27] C-SKY(csky) Linux Kernel Port Message-ID: <20180914160231.GA32161@guoren-Inspiron-7460> References: <20180914143719.GA27689@guoren-Inspiron-7460> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: linux-arch-owner@vger.kernel.org List-ID: To: Arnd Bergmann Cc: linux-arch , Linux Kernel Mailing List , Thomas Gleixner , Daniel Lezcano , Jason Cooper , DTML , andrea.parri@amarulasolutions.com, Peter Zijlstra , c-sky_gcc_upstream@c-sky.com, gnu-csky@mentor.com, Thomas Petazzoni , wbx@uclibc-ng.org, Greentime Hu , Stephen Rothwell Message-ID: <20180914160232.gYPBqEIE6YMm_EmtzL2QskO7lfIt4dXqs2s8UayVOs0@z> On Fri, Sep 14, 2018 at 04:46:56PM +0200, Arnd Bergmann wrote: > On Fri, Sep 14, 2018 at 4:37 PM Guo Ren wrote: > > On Wed, Sep 12, 2018 at 04:30:36PM +0200, Arnd Bergmann wrote: > > > On Wed, Sep 12, 2018 at 3:25 PM Guo Ren wrote: > > > > > > One big question for me is what to do about time_t. Deepa and I are > > > in the process of finalizing the system call ABI for 32-bit architectures > > > with 64-bit time_t, but we are not done yet and it won't be complete > > > for 4.20. If you target 4.21, that could be a chance to make csky the > > > first architecture to only need the 64-bit time_t interface, with the > > > corresponding user space changes. > > y2038 is very important and csky32 has the issue. But 4.21 is too late for > > us, we really want to get into kernel.org as soon as possible. > > We could remove 32-bit time_t in future. > > Not really: the way we deal with user-visible APIs in the kernel, it's > practically impossible to remove something that was working before, > since there may always be users relying on it. This is why it is so > important that we get the ABI right at the first try. > > We can always add new ABIs later, and that's what we're doing with > all the other 32-bit architectures as well: each system call that takes a > 32-bit time_t argument also needs to get the corresponding 64-bit > replacement, and then we have to keep them both around. > > However, once the 64-bit syscalls are there, you don't need to > use them, so if you merge the glibc port after both csky and > the time64 syscalls are merged upstream, you can choose > to only support the time64 syscalls rather than making it a compile > time decision in each application. If you merge the glibc port > before migrating to 64-bit syscalls, glibc will also have to support > both indefinitely for compatibility with existing binaries. > > One level below that, you can of course choose to build > a distro with only 64-bit time_t regardless of whether there > is still support for 32-bit time_t in kernel and glibc or not. Do you mean I could merge kernel port into linux-4.19 or linux-4.20. But let glibc merged after linux-4.21 and csky glibc only support time64 syscalls ? Best Regards Guo Ren