Chinaunix首页 | 论坛 | 博客
  • 博客访问: 22033
  • 博文数量: 7
  • 博客积分: 190
  • 博客等级: 入伍新兵
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-11 11:02
文章分类
文章存档

2012年(7)

我的朋友

分类: LINUX

2012-05-27 10:59:54

Async_tx是Intel设计的,用来为应用提供异步DMA操作API。

见async_tx.c的最前面

core routines for the asynchronous memory transfer/transform api

* Copyright 漏 2006, Intel Corporation.

*

*        Dan Williams

*

*        with architecture considerations by:

*        Neil Brown

*        Jeff Garzik

呵呵,可以看出来是Intel设计的,然后Neil Brown和Jeff Garzik提供了架构上建议,Neil是linux raid栈的维护者,也可以看出来,这个异步框架设计主要是raid栈是使用的

先看看头文件,

#include

#include

#include

除了2个内核常见包含,只有包含了一个自己相关的头文件。

再看看async_tx.h里面的提供的接口

最开始是防止重复包含的定义,然后除了spinlock锁机制和中断头文件外,还包含了一个叫dmaengine.h的头文件

#ifndef _ASYNC_TX_H_

#define _ASYNC_TX_H_

#include

#include

#include

然后我们搜索一下async_tx.h的引用地方,

Async_memcpy.c (linux-2.6.32.57\crypto\async_tx):#include

Async_memset.c (linux-2.6.32.57\crypto\async_tx):#include

Async_pq.c (linux-2.6.32.57\crypto\async_tx):#include

Async_raid6_recov.c (linux-2.6.32.57\crypto\async_tx):#include

Async_tx.c (linux-2.6.32.57\crypto\async_tx):#include

Async_tx.h (linux-2.6.32.57\include\linux):#include

Async_xor.c (linux-2.6.32.57\crypto\async_tx):#include

Raid5.c (linux-2.6.32.57\drivers\md):#include

Raid6test.c (linux-2.6.32.57\crypto\async_tx):#include

我们可以画出整体使用架构为:

菊子曰 用写博客,就是爽!
阅读(1662) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~