E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
kfifo
Ring Buffer的高级用法(类似内核
KFIFO
)
RingBuffer的高级用法(类似内核
KFIFO
)先上代码数据结构数据入队操作数据出队操作获取队列中可读数据的大小清空循环队列先上代码代码参考Linux内核
Kfifo
.数据结构数据结构中定义的缓存区大小一定要是
Wildfire(野火)
·
2020-06-25 06:30
C语言
数据结构
无锁环形缓冲区队列
kfifo
kfifo
的移植两个月前,我花了两天时间,查找Linux内核里
kfifo
的相关资料,将其从内核层移植到应用层,并成功应用于多线程CAN总线采集程序(一个线程接收/一个线程输出)。
Liigo
·
2020-06-24 04:43
C/C++
liigo
基于Linux的
kfifo
移植到STM32(支持os的互斥访问)
基于Linux的
kfifo
移植到STM32(支持os的互斥访问)关于kfifokfifo是内核里面的一个FirstInFirstOut数据结构,它采用环形循环队列的数据结构来实现;它提供一个无边界的字节流服务
杰杰
·
2019-10-17 03:43
c
基于Linux的
kfifo
移植到STM32(支持os的互斥访问)
基于Linux的
kfifo
移植到STM32(支持os的互斥访问)关于kfifokfifo是内核里面的一个FirstInFirstOut数据结构,它采用环形循环队列的数据结构来实现;它提供一个无边界的字节流服务
杰杰IoT
·
2019-10-16 22:00
基于Linux的
kfifo
移植到STM32(支持os的互斥访问)
基于Linux的
kfifo
移植到STM32(支持os的互斥访问)关于kfifokfifo是内核里面的一个FirstInFirstOut数据结构,它采用环形循环队列的数据结构来实现;它提供一个无边界的字节流服务
杰杰IoT
·
2019-10-16 22:00
kfifo
kfifo
的一些伪代码1
kfifo
_len()2out=LOADfifo->out3smp_rmb()4len=LOADfifo->in-out567
kfifo
_in()
kfifo
_out()8
kfifo
_len
小胖西瓜
·
2019-08-21 22:00
kfifo
学习及其使用示例
内核代码中有许多值得借鉴的地方,
kfifo
设计的非常巧妙,代码很精简,对于入队和出对处理的出人意料。当只有一个读线程和一个写线程并发操作时,可以确保是线程安全的,不用添加额外的锁来使用这些功能。
fangye945a
·
2019-01-23 23:10
C语言学习
依据
kfifo
实现环形缓冲区
环形缓冲区经常被使用到,尤其在生产者和消费者的模型中,假设生产者专门用于产生数据,而消费者专门用于处理数据,由于各种原因,可能生产者和消费者产生数据和处理数据的速度不一,比如如果处理速度有慢又快,在慢的时候,消费者产生的数据来不及处理的可能被丢弃,或者强制让生产者降速等待,在快的时候,又有可能太快,而生产者供给不了,那么消费者也必须等待.正是由于快慢不一,缓冲区的存在则恰可以进行中和,协调生产者和
为瞬间停留
·
2018-06-04 11:50
深入理解dpdk rte_ring无锁队列
dpdk的无锁队列ring是借鉴了linux内核
kfifo
无锁队列。ring的实质是FIFO的环形队列。
自己的歌
·
2017-04-06 00:42
dpdk
无锁队列
rte_ring
kfifo
ring
dpdk
Linux内核之数据结构--队列
Linux内核通用队列实现称为
kfifo
。
kfifo
提供了两个主要操作:enqueue(入队列)和dequeue(出队列)。
kfifo
对象维护两个偏移量:入口偏移和出口偏移。
Linux_先生
·
2016-07-28 16:05
linux
linux内核
数据结构
Linux内核通用队列的使用笔记(读linux内核设计与实现)
Linux内核通用队列实现
Kfifo
位置:kernel/kififo.c使用需要包含头文件#include1、创建队列(动态创建)intkfifo_alloc(structkififo*fifo,unsignedintsize
morixinguan
·
2016-06-28 09:00
巧夺天工的
kfifo
kfifo
就是这样的一类优美代码,它十分简洁,绝无多余的一行代码,却非常高效。关于
kfifo
信息如下:本文分析的原代码版本:2.
a809146548
·
2016-05-10 19:00
多线程
C++
linux
kernel
C++11
无锁
巧夺天工的
kfifo
:Linux Kernel中的无锁环形缓冲讲解
阅读更多原文:CSDN博主-海枫http://blog.csdn.net/linyt/article/details/5764312Linuxkernel里面从来就不缺少简洁,优雅和高效的代码,只是我们缺少发现和品味的眼光。在Linuxkernel里面,简洁并不表示代码使用神出鬼没的超然技巧,相反,它使用的不过是大家非常熟悉的基础数据结构,但是kernel开发者能从基础的数据结构中,提炼出优美的特
aigo
·
2016-04-08 22:00
Linux
Kernel
lock-free
巧夺天工的
kfifo
:Linux Kernel中的无锁环形缓冲讲解
阅读更多原文:CSDN博主-海枫http://blog.csdn.net/linyt/article/details/5764312Linuxkernel里面从来就不缺少简洁,优雅和高效的代码,只是我们缺少发现和品味的眼光。在Linuxkernel里面,简洁并不表示代码使用神出鬼没的超然技巧,相反,它使用的不过是大家非常熟悉的基础数据结构,但是kernel开发者能从基础的数据结构中,提炼出优美的特
aigo
·
2016-04-08 22:00
Linux
Kernel
lock-free
内核中的
kfifo
的例子
关于内核的
kfifo
介绍,可参考http://www.cnblogs.com/Anker/p/3481373.html咱玩一点理论性没这么强的东西,先那个例子来跑一下就知道是怎么回事了。
mike8825
·
2016-03-25 18:00
kfifo
简单使用
kfifo
简单应用. 从linux内核源码中获取并修改得到.并在应用层使用之.备忘
kfifo
.c/* *AsimplekernelFIFOimplementation.
zhanglong71
·
2016-02-06 00:00
这个时代无锁真的就是无锁吗
这里是内核
kfifo
(无锁循环队列,主要用于单一读者与单一写者)代码介绍:http://blog.csdn.net/linyt/article/details/5764312 代码精妙处原文作者已经解释得十分清楚了
·
2015-11-12 09:37
锁
无锁队列--基于linuxkfifo实现
有机会看到linux核心
kfifo
.h 原则。 所以这个实现自己仿照,眼下linux我们应该能够提供外部接口。
·
2015-11-02 19:11
linux
Linux设备驱动程序学习(3-补) -Linux中的循环缓冲区
但是(可能是源码版本问题)有些结论并不正确: “而
kfifo
_init只会接受一个已分配好空间的fifo->buffer,不能和
kfifo
_free搭配,用
kfifo
_init分配的
kfifo
只能用
·
2015-10-31 14:57
linux
kfifo
源码剖析 [转wishfly]
从2.6.10开始,Linux内核提供了一个通用的环形缓存(我喜欢称为环形队列);它的头文件是<linux/
kfifo
.h>,
kfifo
.c是实现代码。 在设备驱动中环形缓存出现相当多.
·
2015-10-31 13:58
源码
linux内核数据结构之
kfifo
1、前言 最近项目中用到一个环形缓冲区(ring buffer),代码是由linux内核的
kfifo
改过来的。缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度。
·
2015-10-27 11:59
linux
[置顶] Linux内核工程导论——数据结构:其他
KFIFO
缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度。
ljy1988123
·
2015-10-08 17:00
数据结构
linux
linux
kernel
内核
眉目传情之匠心独运的
kfifo
[-]一
kfifo
概述二
kfifo
内存分配和初始化三
kfifo
并发无锁奥秘---内存屏障四
kfifo
的入队__
kfifo
_put和出队__
kfifo
_get操作五扩展Reference眉目传情之匠心独运的
handyhuang
·
2015-04-10 18:00
linux
linux内核之
kfifo
队列
1、前言最近项目中用到一个环形缓冲区(ringbuffer),代码是由linux内核的
kfifo
改过来的。缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度。
hbuxiaofei
·
2015-03-11 20:00
kfifo
Introduction
**FIFO简介**FIFO就是先进先出的意思,一般用队列表示,LinuxKernel实现了一个通用的FIFO,称之为
kfifo
。
Aming_world
·
2015-03-05 15:40
数据结构
linux内核中错误码处理函数
比如下面这个函数: structkfifo*
kfifo
_init() { structkfifo*
kfifo
;
kfifo
=kmalloc(sizeof(st
weiguozhihui
·
2014-11-26 15:27
内核中的错误码函数
十月份计划
2.整理环形缓冲区,
kfifo
,tcmalloc。3.csdn精品文章20篇,访问量到20W,申请准专家。4.读完老周的《我的互联网方法论》。5.慢跑80km,每天坚持5km。
哭你吃完
·
2014-11-14 09:00
眉目传情之匠心独运的
kfifo
眉目传情之匠心独运的kfifoAuthor:EchoChen(陈斌)Email:
[email protected]
:Blog.csdn.net/chen19870707Date:October8th,2014 学不考儒,务掇精华;文不按古,匠心独运。Linuxkernal鬼斧神工,博大精深,让人叹为观止,拍手叫绝。然匠心独运的设计并非扑朔迷离、盘根错节,真正的匠心独运乃
哭你吃完
·
2014-11-14 09:00
数据结构
C++
linux
源代码
内存屏障
kfifo
眉目传情之并发无锁环形队列的实现
:
[email protected]
:Blog.csdn.net/chen19870707Date:October10th,2014 前面在《眉目传情之匠心独运的
kfifo
哭你吃完
·
2014-11-14 09:00
C++
linux
服务器
memory
无锁队列
barrier
linux内核中的循环缓冲去的设计与实现
linux内核中对structkfifo结构体的各种操作的源代码存放在: /kernel/
kfifo
.c和/include/linux/
kfifo
.h这两个文件之中。
weiguozhihui
·
2014-11-11 15:02
linux
循环队列
眉目传情之并发无锁环形队列的实现
:
[email protected]
:Blog.csdn.net/chen19870707Date:October10th,2014 前面在《眉目传情之匠心独运的
kfifo
chen19870707
·
2014-10-11 14:00
C++
linux
服务器
memory
无锁队列
barrier
眉目传情之匠心独运的
kfifo
眉目传情之匠心独运的kfifoAuthor:EchoChen(陈斌)Email:
[email protected]
:Blog.csdn.net/chen19870707Date:October8th,2014 学不考儒,务掇精华;文不按古,匠心独运。Linuxkernal鬼斧神工,博大精深,让人叹为观止,拍手叫绝。然匠心独运的设计并非扑朔迷离、盘根错节,真正的匠心独运乃
chen19870707
·
2014-10-08 21:00
数据结构
C++
linux
源代码
内存屏障
kfifo
十月份计划
2.整理环形缓冲区,
kfifo
,tcmalloc。3.csdn精品文章20篇,访问量到20W,申请准专家。4.读完老周的《我的互联网方法论》。5.慢跑80km,每天坚持5km。
chen19870707
·
2014-10-08 09:00
简单无锁队列的实现和使用
里面注释很详细,直接来
kfifo
的源码,大家看源码注释应该就可以理解了。源代码是linux上实现的,为了跨平台,增加了其他平台下的实现。#include#include#include#d
mergerly
·
2014-09-02 19:11
Linux
基础代码
简单无锁队列的实现和使用
里面注释很详细,直接来
kfifo
的源码,大家看源码注释应该就可以理解了。源代码是linux上实现的,为了跨平台,增加了其他平台下的实现。#include #include #include
mergerly
·
2014-09-02 19:00
内核循环缓冲区数据结构
kfifo
在用户态的使用
后来好像也没有用到,倒是一直记得好像老早以前看到ldd上提到双向链表的时候有提到个
kfifo
,只是一直没有用到这个,所以一直没看。倒是无聊的时候想起过printk是否用的就是这个数据结构。
mergerly
·
2014-09-02 13:00
内核数据结构之队列
内核中通用队列的实现称为
kfifo
,其实现文件位于kernel/
kfifo
.c中。本部分讨论的API接口是基于2.6.33的。
山庄来客
·
2014-05-12 21:00
数据结构
编程
linux
struct
buffer
linux内核分析--内核中的数据结构之队列(二)
内核中关于队列定义的头文件位于:include/linux/
kfifo
.h头文件中定义的函数的实现位于:kernel/
kfifo
.c内核队列编程需要注意的是:队列的size在初始化时,始终设定为2的n次方使用队列之前将队列结构体中的锁
yusiguyuan
·
2014-02-25 11:00
c
linux内核
巧夺天工的
kfifo
kfifo
就是这样
guixunlong
·
2013-02-01 10:00
linux内核数据结构
1、链表:双向环形链表2、队列:
kfifo
3、映射:4、红黑树:5、消息队列:6、slab内存分配机制---就是内存池机制7、哈希表http://www.cnblogs.com/wanghetao/archive
an_zhenwei
·
2012-12-03 12:00
linux 内核 队列
kfifo
也曾尝试解决遇到的问题,但由于自己内核开发功夫上签,最终还是失败了....后来还是采取了内核的实现
kfifo
(include/linux/
kfifo
.h),
kfifo
在linux标准内核>=2.6.10
cenziboy
·
2012-11-26 21:00
linux
linux
linux
Module
System
System
kfifo
编译时的一些窍门 tips
1.编译某个模块makeM=drivers/iio/好像makedrivers/iio/
kfifo
_buf.ko也可以2.如果不是模块 makemm/3.只编译某个文件makedrivers/iio/
kfifo
_buf.o
RichardYSteven
·
2012-10-24 11:00
linux内核中的循环缓冲区
循环缓冲区定义在include/linux/
kfifo
.h中,如下:structkfifo{unsignedchar*buffer;//buffer指向存放数据的缓冲区unsignedintsi
maopig
·
2012-03-25 19:00
struct
function
buffer
optimization
linux内核
locking
kfifo
源码剖析
从2.6.10开始,Linux内核提供了一个通用的环形缓存(我喜欢称为环形队列);它的头文件是,
kfifo
.c是实现代码。
alex_xhl
·
2012-02-23 17:00
数据结构
struct
buffer
代码分析
linux内核
locking
linux kernel中的免锁算法
针对以上两点,本文就用2.6.11(2.6.10和2.6.11是一样的)的
kfifo
.h和
kfifo
.c代码实现的免锁算法进行较为详细的分析。 对于临界区的访问一般的做
jwybobo2007
·
2011-12-29 14:00
算法
linux
struct
function
buffer
locking
kfifo
一读一写无锁缓冲区中的memory barrier
Linuxkernel实现了一个
kfifo
,支持一读一写线程的无锁操作。具体代码见kernel/
kfifo
.c。在2.6稍高一点的版本里都会涉及到memorybarrier。
herm_lib
·
2011-08-20 10:00
linux
LINUX内核数据结构
kfifo
使用
#include <linux/
kfifo
.h> #define ELEM 16 static struct
kfifo
*q; static spinlock_t q_lock
lht
·
2011-05-25 21:00
数据结构
linux
Linux内核中的循环缓冲区
循环缓冲区定义在include/linux/
kfifo
.h中,如下:structkfifo{unsignedchar*buffer;//buffer指向存放数据的缓冲区unsignedintsi
heanyu
·
2011-03-31 15:00
struct
function
buffer
optimization
linux内核
locking
Linux内核中的循环缓冲区
循环缓冲区定义在include/linux/
kfifo
.h中,如下:structkfifo{unsignedchar*buffer;unsignedintsize
heanyu
·
2011-03-10 17:00
数据结构
linux
struct
REST
buffer
linux内核
linux kernel中的免锁算法
针对以上两点,本文就用2.6.11(2.6.10和2.6.11是一样的)的
kfifo
.h和
kfifo
.c代码实现的免锁算法进行较为详细的分析。 对于临界区的访问一般的做法
173806613
·
2011-02-15 12:00
数据结构
算法
linux
REST
UP
上一页
1
2
3
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他