[Cbe-oss-dev] 64k pages vs. problem state register mappings

Arnd Bergmann arnd at arndb.de
Fri Jun 9 18:57:35 EST 2006


On Friday 09 June 2006 10:17, Benjamin Herrenschmidt wrote:
> And provide a syscall or sysfs interface to access these things without
> mmap'ing them so that fine grained protection can be kept with 64k pages
> at the expense of some performances.

Right. Actually I always required that all functionality that is available
through mmap is also there using normal file I/O. I think there are
currently two interfaces missing for that, though:

- setting the runcontrol bit to stop and resume an SPU context, and
- accessing the multi-source synchronization bit.

neither of them is currently exposed by libspe. Once we add them there,
we need to have the proper abstractions in the kernel as well.

For many scenarios, using the system calls is more efficient anyway,
because that can operate on a saved context, while for using the
mmap, we have to make the context present on a physical SPU, even
if it's not runnable at the time.

Also the system calls are used to avoid polling the registers, instead
the thread accessing them will sleep until we get an interrupt when
it can do it's action.

	Arnd <><



More information about the cbe-oss-dev mailing list