From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752238AbeAEQZW (ORCPT + 1 other); Fri, 5 Jan 2018 11:25:22 -0500 Received: from mx1.redhat.com ([209.132.183.28]:59408 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751845AbeAEQZT (ORCPT ); Fri, 5 Jan 2018 11:25:19 -0500 From: Jeff Moyer To: Christoph Hellwig , Benjamin LaHaise Cc: linux-aio@kvack.org, Avi Kivity , linux-fsdevel@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/6] move _body_io_syscall to the generic syscall.h References: <20180104080325.14716-1-hch@lst.de> <20180104080325.14716-3-hch@lst.de> X-PGP-KeyID: 1F78E1B4 X-PGP-CertKey: F6FE 280D 8293 F72C 65FD 5A58 1FF8 A7CA 1F78 E1B4 X-PCLoadLetter: What the f**k does that mean? Date: Fri, 05 Jan 2018 11:25:17 -0500 In-Reply-To: <20180104080325.14716-3-hch@lst.de> (Christoph Hellwig's message of "Thu, 4 Jan 2018 09:03:21 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Fri, 05 Jan 2018 16:25:19 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: Christoph Hellwig writes: > This way it can be used for the fallback 6-argument version on > all architectures. > > Signed-off-by: Christoph Hellwig This is a strange way to do things. However, I was never really sold on libaio having to implement its own system call wrappers. That decision definitely resulted in some maintenance overhead. Ben, what was your reasoning for not just using syscall? -Jeff > --- > src/syscall-generic.h | 6 ------ > src/syscall.h | 7 +++++++ > 2 files changed, 7 insertions(+), 6 deletions(-) > > diff --git a/src/syscall-generic.h b/src/syscall-generic.h > index 24d7c7c..35b8580 100644 > --- a/src/syscall-generic.h > +++ b/src/syscall-generic.h > @@ -2,12 +2,6 @@ > #include > #include > > -#define _body_io_syscall(sname, args...) \ > -{ \ > - int ret = syscall(__NR_##sname, ## args); \ > - return ret < 0 ? -errno : ret; \ > -} > - > #define io_syscall1(type,fname,sname,type1,arg1) \ > type fname(type1 arg1) \ > _body_io_syscall(sname, (long)arg1) > diff --git a/src/syscall.h b/src/syscall.h > index a2da030..3819519 100644 > --- a/src/syscall.h > +++ b/src/syscall.h > @@ -10,6 +10,13 @@ > #define DEFSYMVER(compat_sym, orig_sym, ver_sym) \ > __asm__(".symver " SYMSTR(compat_sym) "," SYMSTR(orig_sym) "@@LIBAIO_" SYMSTR(ver_sym)); > > +/* generic fallback */ > +#define _body_io_syscall(sname, args...) \ > +{ \ > + int ret = syscall(__NR_##sname, ## args); \ > + return ret < 0 ? -errno : ret; \ > +} > + > #if defined(__i386__) > #include "syscall-i386.h" > #elif defined(__x86_64__)