`

零拷贝

 
阅读更多
Networking interface card ? 


胡萝卜
2014/7/1 17:19:24

你去看看网卡的收包和发包原理 



truct net_device *output_queue; 
struct sk_buff *completion_queue;
这两个域用于发送数据。

struct sk_buff_head  input_pkt_queue;
struct list_head poll_list;
struct net_device backlog_dev; 
这三个域用于接收数据,其中input_pkt_queue与backlog_dev仅用于non-NAPI的 NIC,input_pkt_queue是接收到的数据队列头,它用于netif_rx()中,并最终由虚拟的poll函数 process_backlog()处理这个SKB队列。
poll_list则是有数据包等待处理的NIC设备队列。对于non-NAPI驱动来说,它始终是backlog_dev。
 
胡萝卜
2014/7/1 17:28:07

 
17:42:43
much
2014/7/1 17:42:43

什么是零拷贝
17:43:38
胡萝卜
2014/7/1 17:43:38

零拷贝就是为了减少内核对收到包的拷贝次数而已 
much
2014/7/1 17:44:17

有详细的 文档吗
much
2014/7/1 17:44:20

@胡杨
much
2014/7/1 17:44:24

@胡萝卜
胡萝卜
2014/7/1 17:45:14

数据报从网络设备到用户程序空间传递的过程中,减少数据拷贝次数,减少系统调用,实现CPU的零参与,彻底消除 CPU在这方面的负载。 
17:45:54
胡杨
2014/7/1 17:45:54

我木有

much
2014/7/1 17:46:00

嗯 好, 我去查一下
胡萝卜
2014/7/1 17:47:20

一般可以通过DMA 操作或者是内存映射,减少CPU 的拷贝产生的开销吧 
17:58:02
胡萝卜
2014/7/1 17:58:02

以前我们公司用零拷贝千兆网卡,現在不做了 
20:48:49
小满爸
2014/7/1 20:48:49

EZchip to Acquire Tilera
小满爸
2014/7/1 20:48:59

http://www.marketwatch.com/story/ezchip-to-acquire-tilera-a-leader-in-high-performance-multi-core-processors-2014-07-01
小满爸
2014/7/1 20:49:20

这里有Tilera的吗?
2014/7/1 20:50:25

数据包 是先到网卡内存  --》DMA--》 网络驱动里分配的内存(主机内存)---网卡驱动存放报文的内存 map到用户空间------这就是零拷贝


深海 2014/7/1 21:06:55

非常感谢。
分享到:
评论

相关推荐

    零拷贝源代码

    零拷贝(Zero-Copy)是一种在计算机系统中优化数据传输的技术,它的核心思想是减少CPU对数据的处理,从而提高系统效率。在传统的数据传输过程中,数据会在用户空间和内核空间之间多次拷贝,增加了CPU的负载。而零...

    MySQL零拷贝技术详解.pdf

    MySQL 零拷贝技术详解 MySQL 零拷贝技术是 MySQL 中的一种高性能存储技术,旨在提高数据库的读写性能。零拷贝技术通过减少数据在内存和磁盘之间的拷贝次数,实现高速的数据读写。 Buffer 和 Cache 的区别 Buffer ...

    drm+v4l2零拷贝

    "drm+v4l2零拷贝"技术就是为了优化这一过程而设计的。本文将详细探讨v4l2(Video for Linux Two)接口、DRM(Direct Rendering Manager)框架以及它们如何协同工作实现零拷贝技术,以提高图像处理和显示的效率。 ...

    qt 多窗口yuv零拷贝渲染.rar

    qt 多窗口yuv零拷贝gpu渲染 基于 rk356x开发板 ,buildroot系统下 qt 多窗口yuv零拷贝gpu渲染 基于 rk356x开发板 ,buildroot系统下 qt 多窗口yuv零拷贝gpu渲染 基于 rk356x开发板 ,buildroot系统下 qt 多窗口yuv零...

    ntzc-default_零拷贝代码_ixgbe驱动_

    在IT领域,尤其是在网络性能优化方面,"零拷贝"技术是一个重要的概念,它能显著提升数据传输效率。本文将详细解析"ntzc-default_零拷贝代码_ixgbe驱动_"这一主题,深入探讨ixgbe驱动如何实现10GE(10 Gigabit ...

    04零拷贝:如何高效地传输文件1

    本节我们将探讨一种优化技术——零拷贝(Zero-Copy),它旨在减少CPU资源消耗,降低上下文切换频率,并减少内存拷贝次数,从而提高文件传输速度。 传统的文件传输方法通常涉及到大量的上下文切换和内存拷贝。例如,...

    Linux零拷贝原理.pdf

    Linux零拷贝原理涵盖了操作系统中I/O操作的高效数据传输机制,该原理利用了现代操作系统内核和硬件的能力,减少了数据在系统调用间拷贝的次数,从而提高了数据传输的效率和性能。接下来将详细阐述相关知识点。 零...

    程序员面试之零拷贝技术解析.pdf,这是一份不错的文件

    本文将深入解析零拷贝技术的基本概念、数据传输过程中的四次拷贝、DMA技术、以及零拷贝技术的几种实现方式。 首先,我们需要了解在没有优化技术的情况下,操作系统是如何处理数据传输的。这个过程可以形象地称为...

    零拷贝技术

    零拷贝技术是一种能够显著提高数据传输效率的方法,通过减少数据在用户空间与内核空间之间拷贝的次数来实现。在Linux系统中,零拷贝技术的应用能够有效降低内存和CPU资源的消耗,进而提升服务器的性能。然而,零拷贝...

    基于网络处理器的零拷贝技术

    基于网络处理器的零拷贝技术,做Linux网络方面可以看看

    零拷贝技术研究与实现

    零拷贝技术研究与实现 (Linux zero copy)

    Linux平台下基于Intel千兆网卡的零拷贝技术的研究与实现.pdf

    Linux平台下基于Intel千兆网卡的零拷贝技术的研究与实现.pdf

    通过零拷贝实现有效数据传输

    通过零拷贝实现有效数据传输 Linux zero copy

    linux零拷贝技术细节

    ### Linux零拷贝技术细节 #### 一、零拷贝技术概述 零拷贝技术是一种减少数据在不同存储空间间复制的技术,目的是提高系统效率,尤其是对于网络数据处理而言尤为重要。传统的数据处理过程中,数据从网络设备到达...

    p367 - p384 零拷贝

    零拷贝技术 零拷贝技术是指在计算机系统中,避免 CPU 直接参与数据传输的过程,使得 CPU 可以专注于其他任务,以提高系统的吞吐量和性能。零拷贝技术通过使用 DMA(Direct Memory Access)控制器来实现数据传输,...

    NIO与零拷贝_javanio_nio和零拷贝_

    零拷贝(Zero-Copy)是计算机系统中提高数据传输效率的一种技术,它避免了在内存到内存之间的数据复制,减少了CPU的负载和内存带宽的占用。在Java NIO中,零拷贝主要体现在通过DMA(Direct Memory Access,直接内存...

Global site tag (gtag.js) - Google Analytics