Changes between Version 3 and Version 4 of dma_device_api


Ignore:
Timestamp:
Jan 26, 2020, 6:44:17 PM (5 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • dma_device_api

    v3 v4  
    55== __A) General principles__ ==
    66
    7 This device allows the kernel to accelerate  memory copy of a remote cluster ''source'' to another remote cluster ''destination'', when the architecture contains dedicated hardware accelerators. It can be multi-channel devices, supporting several parallel transfers, and these devices can be ''internal'' devices, replicated in all clusters.
     7This device allows the kernel to accelerate  memory copies from a remote cluster ''source'' to another remote cluster ''destination'', when the architecture contains dedicated DMA hardware accelerators. It can be multi-channel devices, supporting several parallel transfers, and these devices can be ''internal'' devices, replicated in all clusters.
     8It can exist one ''chdev'' descriptor per cluster and per channel.
    89
    9 The "kernel" API contains two, synchronous and asynchronous, operation types, detailed in section C below.
     10The "kernel" API contains two, ''synchronous'' and ''asynchronous'', operation types, detailed in section C below.
    1011
    1112The '''asynchronous'''  operation is not directly executed by the client thread. The requests are registered in the waiting queue rooted in the DMA chdev descriptor. These requests are actually handled by a dedicated server thread running in the cluster containing the DMA chdev descriptor. This server thread calls the blocking ''ioc_driver_cmd()'' function for each registered request. The driver is supposed to deschedule the server thread after launching the DMA transfer, to wait the transfer completion.