Chinaunix首页 | 论坛 | 博客
  • 博客访问: 785362
  • 博文数量: 127
  • 博客积分: 2669
  • 博客等级: 少校
  • 技术积分: 1680
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-23 11:39
文章分类

全部博文(127)

文章存档

2014年(5)

2013年(19)

2012年(25)

2011年(9)

2010年(25)

2009年(44)

分类:

2012-12-14 13:53:31

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

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

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