mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-09 07:14:48 +08:00
564c8d8dfc
This patch implements the fence APIs required to synchronize DMAs. SCIF provides an interface to return a "mark" for all DMAs programmed at the instant the API was called. Users can then "wait" on the mark provided previously by blocking inside the kernel. Upon receipt of a DMA completion interrupt the waiting thread is woken up. There is also an interface to signal DMA completion by polling for a location to be updated via a "signal" cookie to avoid the interrupt overhead in the mark/wait interface. SCIF allows programming fences on both the local and the remote node for both the mark/wait or the fence signal APIs. Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Reviewed-by: Nikhil Rao <nikhil.rao@intel.com> Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@intel.com> Signed-off-by: Sudeep Dutt <sudeep.dutt@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
---|---|---|
.. | ||
Makefile | ||
scif_api.c | ||
scif_debugfs.c | ||
scif_dma.c | ||
scif_epd.c | ||
scif_epd.h | ||
scif_fd.c | ||
scif_fence.c | ||
scif_main.c | ||
scif_main.h | ||
scif_map.h | ||
scif_mmap.c | ||
scif_nm.c | ||
scif_nodeqp.c | ||
scif_nodeqp.h | ||
scif_peer_bus.c | ||
scif_peer_bus.h | ||
scif_ports.c | ||
scif_rb.c | ||
scif_rb.h | ||
scif_rma_list.c | ||
scif_rma_list.h | ||
scif_rma.c | ||
scif_rma.h |