98f06978ff
At present, a built-in spufs will not use the spufs_calls callbacks, but directly call sys_spu_create. This saves us an indirect branch, but means we have duplicated functions - one for CONFIG_SPU_FS=y and one for =m. This change unifies the spufs syscall path, and provides access to the spufs_calls structure through a get/put pair. At present, the only user of the spufs_calls structure is spu_syscalls.c, but this will facilitate adding the coredump calls later. Everyone likes numbers, right? Here's a before/after comparison with CONFIG_SPU_FS=y, doing spu_create(); close(); 64k times. Before: [jk@cell ~]$ time ./spu_create performing 65536 spu_create calls real 0m24.075s user 0m0.146s sys 0m23.925s After: [jk@cell ~]$ time ./spu_create performing 65536 spu_create calls real 0m24.777s user 0m0.141s sys 0m24.631s So, we're adding around 11us per syscall, at the benefit of having only one syscall path. Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
28 lines
851 B
Makefile
28 lines
851 B
Makefile
obj-$(CONFIG_PPC_CELL_NATIVE) += interrupt.o iommu.o setup.o \
|
|
cbe_regs.o spider-pic.o \
|
|
pervasive.o pmu.o io-workarounds.o
|
|
obj-$(CONFIG_CBE_RAS) += ras.o
|
|
|
|
obj-$(CONFIG_CBE_THERM) += cbe_thermal.o
|
|
obj-$(CONFIG_CBE_CPUFREQ_PMI) += cbe_cpufreq_pmi.o
|
|
obj-$(CONFIG_CBE_CPUFREQ) += cbe-cpufreq.o
|
|
cbe-cpufreq-y += cbe_cpufreq_pervasive.o cbe_cpufreq.o
|
|
|
|
ifeq ($(CONFIG_SMP),y)
|
|
obj-$(CONFIG_PPC_CELL_NATIVE) += smp.o
|
|
endif
|
|
|
|
# needed only when building loadable spufs.ko
|
|
spu-priv1-$(CONFIG_PPC_CELL_NATIVE) += spu_priv1_mmio.o
|
|
|
|
spu-manage-$(CONFIG_PPC_CELLEB) += spu_manage.o
|
|
spu-manage-$(CONFIG_PPC_CELL_NATIVE) += spu_manage.o
|
|
|
|
obj-$(CONFIG_SPU_BASE) += spu_callbacks.o spu_base.o \
|
|
spu_coredump.o spu_syscalls.o \
|
|
$(spu-priv1-y) \
|
|
$(spu-manage-y) \
|
|
spufs/
|
|
|
|
obj-$(CONFIG_PCI_MSI) += axon_msi.o
|