All of lore.kernel.org
 help / color / mirror / Atom feed
From: catalin.marinas@arm.com (Catalin Marinas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/5] FS: Export poll_select_copy_remaining and rename poll_select_copy_remaining in compat.c so it does not pick the wrong copy.
Date: Fri, 13 Sep 2013 10:53:47 +0100	[thread overview]
Message-ID: <20130913095347.GA10385@arm.com> (raw)
In-Reply-To: <CA+=Sn1=4KeoJ=beDVE0tb+2nS_i8pDBq9o-GJUwSZmhhLOhoPw@mail.gmail.com>

On Wed, Sep 11, 2013 at 10:00:14PM +0100, Andrew Pinski wrote:
> On Wed, Sep 11, 2013 at 4:09 AM, Catalin Marinas
> <catalin.marinas@arm.com> wrote:
> > On Mon, Sep 09, 2013 at 10:32:57PM +0100, Andrew Pinski wrote:
> >>   The ILP32 ABI in ARM64 uses a slightly different pselect from either
> >>   the compat or even the native LP64 ABI.  We would want to reuse some
> >>   of the code path that are used as the size of the timespec is the
> >>   same, so this patch exports poll_select_copy_remaining from
> >>   fs/select.c and renames the copy in fs/compat.c to make sure that it
> >>   is not being used.
> >>
> >> Signed-off-by: Andrew Pinski <apinski@cavium.com>
> >
> > I think this patch has to wait until we review the ILP32 ABI for arm64.
> > When I looked at this some time ago I thought we can just use the native
> > arm64 pselect6 and ppoll. Once we agree that's not possible we can push
> > this patch. On its own it doesn't have much value.
> 
> Since fd_set is defined by XPG4.2  to be a struct of an array of
> "long"'s, we cannot change the definition in user space.
> 
> I tried using the native ppoll/pselect for the ABI first.  It worked
> for little-endian just fine but failed hard when big-endian.
> If we only care about little-endian arm64 at this point, I can remove
> this part of the patch and keep it for when we (Cavium) submits the
> big-endian patches.

I see the issue now. I think for the initial set of patches we can
assume little endian. We need a lot more testing, at least for AArch32
mode (we can kick off some tests here once these patches get closer to
merging).

-- 
Catalin

WARNING: multiple messages have this Message-ID (diff)
From: Catalin Marinas <catalin.marinas@arm.com>
To: Andrew Pinski <pinskia@gmail.com>
Cc: "linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	Andrew Pinski <apinski@cavium.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	Alexander Viro <viro@zeniv.linux.org.uk>
Subject: Re: [PATCH 3/5] FS: Export poll_select_copy_remaining and rename poll_select_copy_remaining in compat.c so it does not pick the wrong copy.
Date: Fri, 13 Sep 2013 10:53:47 +0100	[thread overview]
Message-ID: <20130913095347.GA10385@arm.com> (raw)
In-Reply-To: <CA+=Sn1=4KeoJ=beDVE0tb+2nS_i8pDBq9o-GJUwSZmhhLOhoPw@mail.gmail.com>

On Wed, Sep 11, 2013 at 10:00:14PM +0100, Andrew Pinski wrote:
> On Wed, Sep 11, 2013 at 4:09 AM, Catalin Marinas
> <catalin.marinas@arm.com> wrote:
> > On Mon, Sep 09, 2013 at 10:32:57PM +0100, Andrew Pinski wrote:
> >>   The ILP32 ABI in ARM64 uses a slightly different pselect from either
> >>   the compat or even the native LP64 ABI.  We would want to reuse some
> >>   of the code path that are used as the size of the timespec is the
> >>   same, so this patch exports poll_select_copy_remaining from
> >>   fs/select.c and renames the copy in fs/compat.c to make sure that it
> >>   is not being used.
> >>
> >> Signed-off-by: Andrew Pinski <apinski@cavium.com>
> >
> > I think this patch has to wait until we review the ILP32 ABI for arm64.
> > When I looked at this some time ago I thought we can just use the native
> > arm64 pselect6 and ppoll. Once we agree that's not possible we can push
> > this patch. On its own it doesn't have much value.
> 
> Since fd_set is defined by XPG4.2  to be a struct of an array of
> "long"'s, we cannot change the definition in user space.
> 
> I tried using the native ppoll/pselect for the ABI first.  It worked
> for little-endian just fine but failed hard when big-endian.
> If we only care about little-endian arm64 at this point, I can remove
> this part of the patch and keep it for when we (Cavium) submits the
> big-endian patches.

I see the issue now. I think for the initial set of patches we can
assume little endian. We need a lot more testing, at least for AArch32
mode (we can kick off some tests here once these patches get closer to
merging).

-- 
Catalin

WARNING: multiple messages have this Message-ID (diff)
From: Catalin Marinas <catalin.marinas@arm.com>
To: Andrew Pinski <pinskia@gmail.com>
Cc: "linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	Andrew Pinski <apinski@cavium.com>
Subject: Re: [PATCH 3/5] FS: Export poll_select_copy_remaining and rename poll_select_copy_remaining in compat.c so it does not pick the wrong copy.
Date: Fri, 13 Sep 2013 10:53:47 +0100	[thread overview]
Message-ID: <20130913095347.GA10385@arm.com> (raw)
In-Reply-To: <CA+=Sn1=4KeoJ=beDVE0tb+2nS_i8pDBq9o-GJUwSZmhhLOhoPw@mail.gmail.com>

On Wed, Sep 11, 2013 at 10:00:14PM +0100, Andrew Pinski wrote:
> On Wed, Sep 11, 2013 at 4:09 AM, Catalin Marinas
> <catalin.marinas@arm.com> wrote:
> > On Mon, Sep 09, 2013 at 10:32:57PM +0100, Andrew Pinski wrote:
> >>   The ILP32 ABI in ARM64 uses a slightly different pselect from either
> >>   the compat or even the native LP64 ABI.  We would want to reuse some
> >>   of the code path that are used as the size of the timespec is the
> >>   same, so this patch exports poll_select_copy_remaining from
> >>   fs/select.c and renames the copy in fs/compat.c to make sure that it
> >>   is not being used.
> >>
> >> Signed-off-by: Andrew Pinski <apinski@cavium.com>
> >
> > I think this patch has to wait until we review the ILP32 ABI for arm64.
> > When I looked at this some time ago I thought we can just use the native
> > arm64 pselect6 and ppoll. Once we agree that's not possible we can push
> > this patch. On its own it doesn't have much value.
> 
> Since fd_set is defined by XPG4.2  to be a struct of an array of
> "long"'s, we cannot change the definition in user space.
> 
> I tried using the native ppoll/pselect for the ABI first.  It worked
> for little-endian just fine but failed hard when big-endian.
> If we only care about little-endian arm64 at this point, I can remove
> this part of the patch and keep it for when we (Cavium) submits the
> big-endian patches.

I see the issue now. I think for the initial set of patches we can
assume little endian. We need a lot more testing, at least for AArch32
mode (we can kick off some tests here once these patches get closer to
merging).

-- 
Catalin

  reply	other threads:[~2013-09-13  9:53 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-09 21:32 [PATCH 1/5] ARM64: Split out CONFIG_ARM64_AARCH32 from CONFIG_COMPAT. Signed-off-by: Andrew Pinski <apinski@cavium.com> Andrew Pinski
2013-09-09 21:32 ` Andrew Pinski
2013-09-09 21:32 ` [PATCH 2/5] ARM64: Move some signal code to a seperate file to be reused by ILP32 Andrew Pinski
2013-09-09 21:32   ` Andrew Pinski
2013-09-09 21:38   ` Andrew Pinski
2013-09-09 21:38     ` Andrew Pinski
2013-09-09 22:40     ` David Daney
2013-09-09 22:40       ` David Daney
2013-09-11 10:59   ` Catalin Marinas
2013-09-11 10:59     ` Catalin Marinas
2013-09-09 21:32 ` [PATCH 3/5] FS: Export poll_select_copy_remaining and rename poll_select_copy_remaining in compat.c so it does not pick the wrong copy Andrew Pinski
2013-09-09 21:32 ` Andrew Pinski
2013-09-09 21:32 ` Andrew Pinski
2013-09-09 21:32   ` Andrew Pinski
2013-09-11 11:09   ` Catalin Marinas
2013-09-11 11:09     ` Catalin Marinas
2013-09-11 11:09     ` Catalin Marinas
2013-09-11 21:00     ` Andrew Pinski
2013-09-11 21:00       ` Andrew Pinski
2013-09-13  9:53       ` Catalin Marinas [this message]
2013-09-13  9:53         ` Catalin Marinas
2013-09-13  9:53         ` Catalin Marinas
2013-09-09 21:32 ` [PATCH 4/5] ARM64: Move copy_siginfo_to_user32 and copy_siginfo_from_user32 to signal.c to be able to use from non AARCH32 code Andrew Pinski
2013-09-09 21:32   ` Andrew Pinski
2013-09-09 21:32 ` [PATCH 5/5] ARM64: Add support for ILP32 ABI Andrew Pinski
2013-09-09 21:32   ` Andrew Pinski
2013-09-11 14:32   ` Catalin Marinas
2013-09-11 14:32     ` Catalin Marinas
2013-09-13  6:18     ` Andrew Pinski
2013-09-13  6:18       ` Andrew Pinski
2013-09-13  9:47       ` Will Deacon
2013-09-13  9:47         ` Will Deacon
2013-09-13  9:57         ` Catalin Marinas
2013-09-13  9:57           ` Catalin Marinas
2013-09-13 10:04           ` Will Deacon
2013-09-13 10:04             ` Will Deacon
2013-09-13 12:13             ` Catalin Marinas
2013-09-13 12:13               ` Catalin Marinas
2013-09-13 12:12       ` Catalin Marinas
2013-09-13 12:12         ` Catalin Marinas
2014-04-21 22:06         ` Andrew Pinski
2014-04-21 22:06           ` Andrew Pinski
2014-04-15 21:43     ` Andrew Pinski
2014-04-15 21:43       ` Andrew Pinski
2013-09-11 10:55 ` [PATCH 1/5] ARM64: Split out CONFIG_ARM64_AARCH32 from CONFIG_COMPAT. Signed-off-by: Andrew Pinski <apinski@cavium.com> Catalin Marinas
2013-09-11 10:55   ` Catalin Marinas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130913095347.GA10385@arm.com \
    --to=catalin.marinas@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.