[Cbe-oss-dev] spufs syscalls
Julio M. Merino Vidal
jmerino at ac.upc.edu
Sat Nov 3 20:50:25 EST 2007
Hello,
This is something I've been wondering for a while and I thought I
could ask here.
According to an introductory article [1] to spufs, the first version
of it used a completely filesystem-based interface to manage the
SPUs: there were no syscalls. However, some months later, this
change [2] was done:
----
We are moving to a system call based approach for some
low-level operations now. Two system calls are introduced,
spu_run and spu_create. The spu_create call can be
used in place of the mkdir syscall to create an spu
context. It returns an open file descriptor to the
new directory. When the fd is closed (e.g. on process
exit), the context is automatically destroyed.
The spu_run call takes over the role of the ioctl
with the same name. It operates on the file descriptor
returned from spu_create, so we don't need the "run"
file any more.
----
Having everything in the file system seemed like a good idea,
specially to keep user-level compatibility across different systems
with Cell support. I also read in [3] that some syscall-based
interfaces were tried first.
So, why are these two syscalls an exception? Did the design that
contained them as part of the file system turn out to be problematic?
Thanks,
1: http://www.ibm.com/developerworks/power/library/pa-cell/
2: http://lkml.org/lkml/2005/9/16/20
3: http://www.ibm.com/developerworks/power/library/pa-expert4/
--
Julio M. Merino Vidal <jmerino at ac.upc.edu>
More information about the cbe-oss-dev
mailing list