From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 55469 invoked by alias); 30 Aug 2016 20:05:23 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 55454 invoked by uid 89); 30 Aug 2016 20:05:22 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE autolearn=no version=3.3.2 spammy=Hx-spam-relays-external:sk:mrelaye, H*RU:sk:mrelaye, H*r:sk:mrelaye, H*RU:212.227.126.133 X-HELO: mout.kundenserver.de From: Arnd Bergmann To: Yury Norov Subject: Re: [PATCH v4 2/3] 32-bit ABIs: support stat syscall family Date: Tue, 30 Aug 2016 20:05:00 -0000 User-Agent: KMail/1.12.2 (Linux/4.7.0-rc7+; KDE/4.3.2; x86_64; ; ) Cc: libc-alpha@sourceware.org, Joseph Myers , schwab@suse.de, catalin.marinas@arm.com, davem@davemloft.net, szabolcs.nagy@arm.com, maxim.kuvyrkov@linaro.org, pinskia@gmail.com, bamvor.zhangjian@huawei.com, fweimer@redhat.com, Prasun.Kapoor@cavium.com, adhemerval.zanella@linaro.org References: <1470304959-9944-1-git-send-email-ynorov@caviumnetworks.com> <201608301715.44589.arnd@arndb.de> <20160830192853.GA5959@yury-N73SV> In-Reply-To: <20160830192853.GA5959@yury-N73SV> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201608302204.01066.arnd@arndb.de> X-UI-Out-Filterresults: notjunk:1;V01:K0:rI1jEYR2HHc=:ZB5iB+1fU6wm2IvEjaDKpu 2+ZuSECUW5ZzAciS05kGyx54+5STHDYITRfD5sNM/djAc8D301nGDbj8dNycceZKQ6xXtvkRf +LArg1Dhg8RqeXvzL1PiS6gW/YaATyHEUVbgIJo7n6aYK8mR3opg5h5XbyeXGUoiRLqKPgCdg waCwTOfiICcPv87pMlO15KPm0THnmbV5/vMqFeJhR3gb8bEerYrjQoctF7LXywNUL6BL1Pp2I /xMWLsf4vgrRamJCZnhCZ91WWeQ+9t1H2IA2i1IQUmjs6BIfD1BQTTMHIs3FyG2W9UKT5CB1c teTMe+mpJS73TZzey3qaZDlwrPdwNZUwKrtCTh26Hh8Uz9OnNgYx/4hWCnityHWbD3ywkvnwt m679i4FMz0e2RJ4ip6b3oTHlK4Dx6x3CcTQdebZHmFEormbIuziGVDEzQ2EDkjvXNVXyYQ76+ Pu5+nIIYF5SFPRcLeUTSMRrfOIuYwq33+qEqt3eIVL3nmvIOXkWgiQbTx4hDczJ1lk+PBMa/S IpNlN6QrRT070MSRSr+ElduRy/SAvp5Y+xn1rHd5cwjw9eZYONbKlwGWStZR96Goc8IvuKTP8 hEteNFXKoNw0JK7uvCg8fHO/xDkWTA1aEzCJcbuLF4MxOb2e0wxUBU+nzBnIRIL2duIdGjii1 8EHM6iZ27xuoyA36T7QnSskb+xCv5t+vu2Tw5U9s95cIdKhHiDYD4JSJ6RGdZTgLLqRBNiOrj 98vLbGfzGOkTh5++ X-SW-Source: 2016-08/txt/msg00911.txt.bz2 On Tuesday 30 August 2016, Yury Norov wrote: > On Tue, Aug 30, 2016 at 05:15:44PM +0200, Arnd Bergmann wrote: > > On Tuesday 30 August 2016, Yury Norov wrote: > > > On Mon, Aug 29, 2016 at 10:34:38PM +0200, Arnd Bergmann wrote: > > > > + new version with conversion of st_ino field only, a different new hack > > but simpler. > > > > > - initial version. Effective, simple, free of hacks but (because of) > > > non-generic. > > > > I can't find that version now, can you post a copy of that original > > patch or a link to an archived discussion? > > > > It seems I never published it. It was based on arm32 syscall handlers, > and in kernel list it was decided to use aarch64 wrappers, so I > dropped it. Briefly, there was custom struct stat that was identical > to struct stat64, and identical to kernel one. The rest is like in > previous version except there were no code that converts timespecs. > > > The layout we want is exactly what we have for stat64 > > sysdeps/unix/sysv/linux/bits/stat.h (not > > sysdeps/unix/sysv/linux/generic/bits/stat.h), right? > > > > Arnd > > This is the implementation of fxstat() and lxstat() syscalls that use standard > struct stat layout, and convert kernel_stat to user struct stat with > __xstat{,64}_conv(). Here's used standard mechanism, but I had to move all > syscalls under platform directory. Se the body of the patch for details. > > I see no reason to continue this work as it's both ineffective and non-generic. > Tomorrow I'll try the idea of Arnd - roll back to arm32 handlers in kernel, and > try arm32 wrappers in glibc, or custom wrappers to avoid useless copying. I > think there will be as much platform code, as in this version. Ok, sounds good. > Notice that it was already discussed in linux mail list, and aarch64 syscalls > were called preferable because arm32 versions are broken (st_ino field), and > other reasons. I'm sure I was agreeing to that at the time, but after the long discussions we have had since, working around the st_ino problem seems much simpler than working around the incompatible timestamps. Arnd