[PATCH 7/8] ppc64: SPU file system
Arnd Bergmann
arnd at arndb.de
Tue May 17 08:01:05 EST 2005
On Maandag 16 Mai 2005 22:58, Greg KH wrote:
> On Sat, May 14, 2005 at 03:05:06PM +0200, Arnd Bergmann wrote:
> > 2. sys_spufs_run(int fd, __u32 pc, __u32 *new_pc, __u32 *status):
> > pro:
> > - strong types
> > - can have both input and output arguments
> > contra:
> > - does not fit file system semantics well
> > - bad for prototyping
>
> I suggest you do this. Based on what you say you want the code to do, I
> agree, write() doesn't really work out well
The syscall approach has another small disadvantage in that I need to
do a callback registration mechanism for it if I want to have spufs as
a loadable module. I could of course require spufs to be builtin, but
that complicates prototype testing (as mentioned) and enlarges combined
pSeries/powermac/BPA distro kernels.
I think I'll leave the ioctl for now and add a note saying that I need
to replace it with a syscall or the write/read or lseek/read based
approach when I arrive at a more feature complete point.
> (but it might, and if you
> want an example of how to do it, look at the ibmasm driver, it
> implements write() in a way much like what you are wanting to do.)
That would be the same write/read combination as Ben's second
proposal and the nfsctl file system, right?
> > My solution was to force the dentries in each directory to be
> > present. When the directory is created, the files are already
> > there and unlinking a single file is impossible. To destroy the
> > spu context, the user has to rmdir it, which will either remove
> > all files in there as well or fail in the case that any file is
> > still open.
>
> Ick.
>
> > Of course that is not really Posix behavior, but it avoids some
> > other pitfalls.
>
> Go with a syscall :)
Sorry, I'm not following that reasoning. How does a syscall help
with the problem of atomic context destruction?
Arnd <><
More information about the Linuxppc64-dev
mailing list