linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: fallocate-implementation-on-i86-x86_64-and-powerpc.patch
       [not found]   ` <20070710101558.cea7aab1.akpm@linux-foundation.org>
@ 2007-07-10 17:44     ` Jeff Garzik
  2007-07-10 23:27       ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Paul Mackerras
  0 siblings, 1 reply; 7+ messages in thread
From: Jeff Garzik @ 2007-07-10 17:44 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Theodore Tso, linux-kernel, Amit Arora, Andi Kleen,
	Paul Mackerras, Benjamin Herrenschmidt, Arnd Bergmann, Luck, Tony,
	Heiko Carstens, Martin Schwidefsky, Mark Fasheh, linux-arch

Andrew Morton wrote:
> So I dropped everything.  Let's start again from scratch.  I'd suggest that
> for now we go with just an i386/x86_64 implementation, let the arch
> maintainers wire things up when that has settled down.


It's my observation that that plan usually works the best.  Arch 
maintainers come along and wire up batches of syscalls when they have a 
chance to glance at the ABI, and catch up with x86[-64].

	Jeff





^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: fallocate-implementation-on-i86-x86_64-and-powerpc.patch
  2007-07-10 17:44     ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Jeff Garzik
@ 2007-07-10 23:27       ` Paul Mackerras
  2007-07-11  0:16         ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Andrew Morton
  0 siblings, 1 reply; 7+ messages in thread
From: Paul Mackerras @ 2007-07-10 23:27 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Andrew Morton, Theodore Tso, linux-kernel, Amit Arora, Andi Kleen,
	Benjamin Herrenschmidt, Arnd Bergmann, Luck, Tony, Heiko Carstens,
	Martin Schwidefsky, Mark Fasheh, linux-arch

Jeff Garzik writes:

> Andrew Morton wrote:
> > So I dropped everything.  Let's start again from scratch.  I'd suggest that
> > for now we go with just an i386/x86_64 implementation, let the arch
> > maintainers wire things up when that has settled down.
> 
> 
> It's my observation that that plan usually works the best.  Arch 

... except when the initial implementer picks an argument order which
doesn't work on some archs, as happened with sys_sync_file_range.
That is also the case with fallocate IIRC.

We did come up with an order that worked for everybody, but that
discussion seemed to get totally ignored by the ext4 developers.

Paul.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: fallocate-implementation-on-i86-x86_64-and-powerpc.patch
  2007-07-10 23:27       ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Paul Mackerras
@ 2007-07-11  0:16         ` Andrew Morton
  2007-07-11  0:50           ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Paul Mackerras
  0 siblings, 1 reply; 7+ messages in thread
From: Andrew Morton @ 2007-07-11  0:16 UTC (permalink / raw)
  To: Paul Mackerras
  Cc: Jeff Garzik, Theodore Tso, linux-kernel, Amit Arora, Andi Kleen,
	Benjamin Herrenschmidt, Arnd Bergmann, Luck, Tony, Heiko Carstens,
	Martin Schwidefsky, Mark Fasheh, linux-arch

On Wed, 11 Jul 2007 09:27:40 +1000
Paul Mackerras <paulus@samba.org> wrote:

> We did come up with an order that worked for everybody, but that
> discussion seemed to get totally ignored by the ext4 developers.

It was a long discussion.

Can someone please remind us what the signature of the syscall
(and the compat handler) should be?

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: fallocate-implementation-on-i86-x86_64-and-powerpc.patch
  2007-07-11  0:16         ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Andrew Morton
@ 2007-07-11  0:50           ` Paul Mackerras
  2007-07-11 15:39             ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Theodore Tso
  0 siblings, 1 reply; 7+ messages in thread
From: Paul Mackerras @ 2007-07-11  0:50 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Jeff Garzik, Theodore Tso, linux-kernel, Amit Arora, Andi Kleen,
	Benjamin Herrenschmidt, Arnd Bergmann, Luck, Tony, Heiko Carstens,
	Martin Schwidefsky, Mark Fasheh, linux-arch

Andrew Morton writes:

> On Wed, 11 Jul 2007 09:27:40 +1000
> Paul Mackerras <paulus@samba.org> wrote:
> 
> > We did come up with an order that worked for everybody, but that
> > discussion seemed to get totally ignored by the ext4 developers.
> 
> It was a long discussion.
> 
> Can someone please remind us what the signature of the syscall
> (and the compat handler) should be?

long sys_fallocate(loff_t offset, loff_t len, int fd, int mode)

should work for everybody.  The compat handler would be

long compat_sys_fallocate(u32 offset_hi, u32 offset_lo, u32 len_hi, u32 len_lo,
			  int fd, int mode)

for big-endian, or swap hi/lo for little-endian.  (Actually it would
be good to have an arch-dependent "stitch two args together" macro and
call them offset_0, offset_1 etc.)

Paul.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: fallocate-implementation-on-i86-x86_64-and-powerpc.patch
  2007-07-11  0:50           ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Paul Mackerras
@ 2007-07-11 15:39             ` Theodore Tso
  2007-07-11 18:47               ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Heiko Carstens
  0 siblings, 1 reply; 7+ messages in thread
From: Theodore Tso @ 2007-07-11 15:39 UTC (permalink / raw)
  To: Paul Mackerras
  Cc: Andrew Morton, Jeff Garzik, linux-kernel, Amit Arora, Andi Kleen,
	Benjamin Herrenschmidt, Arnd Bergmann, Luck, Tony, Heiko Carstens,
	Martin Schwidefsky, Mark Fasheh, linux-arch

On Wed, Jul 11, 2007 at 10:50:49AM +1000, Paul Mackerras wrote:
> > On Wed, 11 Jul 2007 09:27:40 +1000
> > Paul Mackerras <paulus@samba.org> wrote:
> > 
> > > We did come up with an order that worked for everybody, but that
> > > discussion seemed to get totally ignored by the ext4 developers.

Well, in the end it was a toss-up between

asmlinkage long sys_fallocate(int fd, int mode, loff_t offset, loff_t len)

and 

asmlinkage long sys_fallocate(loff_t offset, loff_t len, int fd, int mode)

There were a number of folks who preferred having int fd first, and I
*thought* Amit had gotten agreement from either Martin or Heiko that
it was ok to do this as an exception, even though it was extra work
for that arch.  But if not, we can try going back the second
alternative, or even the 6 32-bits args (off_high, off_low, len_high,
len_low) approach, but I think that drew even more fire. 

Basically, no one approach made everyone happy, and at the end of the
day sometimes you have to choose.  I thought we had settled this in
May with something that people could live with, but if we need to
reopen the discussion, better now than later.....

						- Ted

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: fallocate-implementation-on-i86-x86_64-and-powerpc.patch
  2007-07-11 15:39             ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Theodore Tso
@ 2007-07-11 18:47               ` Heiko Carstens
  2007-07-11 20:32                 ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Martin Schwidefsky
  0 siblings, 1 reply; 7+ messages in thread
From: Heiko Carstens @ 2007-07-11 18:47 UTC (permalink / raw)
  To: Theodore Tso, Paul Mackerras, Andrew Morton, Jeff Garzik,
	linux-kernel, Amit Arora, Andi Kleen, Benjamin Herrenschmidt,
	Arnd Bergmann, Luck, Tony, Martin Schwidefsky, Mark Fasheh,
	linux-arch

On Wed, Jul 11, 2007 at 11:39:39AM -0400, Theodore Tso wrote:
> On Wed, Jul 11, 2007 at 10:50:49AM +1000, Paul Mackerras wrote:
> > > On Wed, 11 Jul 2007 09:27:40 +1000
> > > Paul Mackerras <paulus@samba.org> wrote:
> > > 
> > > > We did come up with an order that worked for everybody, but that
> > > > discussion seemed to get totally ignored by the ext4 developers.
> 
> Well, in the end it was a toss-up between
> 
> asmlinkage long sys_fallocate(int fd, int mode, loff_t offset, loff_t len)
> 
> and 
> 
> asmlinkage long sys_fallocate(loff_t offset, loff_t len, int fd, int mode)
> 
> There were a number of folks who preferred having int fd first, and I
> *thought* Amit had gotten agreement from either Martin or Heiko that
> it was ok to do this as an exception, even though it was extra work
> for that arch.  But if not, we can try going back the second
> alternative, or even the 6 32-bits args (off_high, off_low, len_high,
> len_low) approach, but I think that drew even more fire. 

The second approach would work for all architectures..  but some people
didn't like (no technical reason) not having fd as first argument.

Just go ahead with the current approach. s390 seems to be the only
architecture which suffers from this and I wouldn't like to start this
discussion again.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: fallocate-implementation-on-i86-x86_64-and-powerpc.patch
  2007-07-11 18:47               ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Heiko Carstens
@ 2007-07-11 20:32                 ` Martin Schwidefsky
  0 siblings, 0 replies; 7+ messages in thread
From: Martin Schwidefsky @ 2007-07-11 20:32 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: Theodore Tso, Paul Mackerras, Andrew Morton, Jeff Garzik,
	linux-kernel, Amit Arora, Andi Kleen, Benjamin Herrenschmidt,
	Arnd Bergmann, Luck, Tony, Mark Fasheh, linux-arch

On Wed, 2007-07-11 at 20:47 +0200, Heiko Carstens wrote:
> > There were a number of folks who preferred having int fd first, and I
> > *thought* Amit had gotten agreement from either Martin or Heiko that
> > it was ok to do this as an exception, even though it was extra work
> > for that arch.  But if not, we can try going back the second
> > alternative, or even the 6 32-bits args (off_high, off_low, len_high,
> > len_low) approach, but I think that drew even more fire. 
> 
> The second approach would work for all architectures..  but some people
> didn't like (no technical reason) not having fd as first argument.

For s390 we would have liked the second approach with the two int's as
last arguments since it would avoid the wrapper in the kernel. It does
not avoid the wrapper in user space since the call uses 6 register on 31
bit. So the fallocate call need special treatement in glibc so I don't
mind that it needs another wrapper in the kernel.

> Just go ahead with the current approach. s390 seems to be the only
> architecture which suffers from this and I wouldn't like to start this
> discussion again.

Yes, don't worry about s390 for fallocate, the patch that had been in
-mm only had an incorrect system call number. The wrapper is fine.

-- 
blue skies,
  Martin.

"Reality continues to ruin my life." - Calvin.



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2007-07-11 20:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20070710013152.ef2cd200.akpm@linux-foundation.org>
     [not found] ` <20070710115251.GG2343@thunk.org>
     [not found]   ` <20070710101558.cea7aab1.akpm@linux-foundation.org>
2007-07-10 17:44     ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Jeff Garzik
2007-07-10 23:27       ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Paul Mackerras
2007-07-11  0:16         ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Andrew Morton
2007-07-11  0:50           ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Paul Mackerras
2007-07-11 15:39             ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Theodore Tso
2007-07-11 18:47               ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Heiko Carstens
2007-07-11 20:32                 ` fallocate-implementation-on-i86-x86_64-and-powerpc.patch Martin Schwidefsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).