dpdk
勇zhe无wei
这个作者很懒,什么都没留下…
展开
-
dpdk-hugepage源码分析
hugepage的作用: 1. 就是减少页的切换,页表项减少,产生缺页中断的次数也减少 2. 降低TLB的miss次数static uint64_t get_default_hp_size(void) { const char proc_meminfo[] = "/proc/meminfo"; const char str_hugepagesz[] = "Hugepagesize原创 2017-03-02 14:56:08 · 1196 阅读 · 0 评论 -
dpdk-spinlock
spinlock在多线程编程中经常被使用,我们经常叫无锁,底层的实现是汇编代码的compare-and-set,也就是CAS大法!!!spinlock的操作:typedef struct { volatile int locked; /**< lock status 0 = unlocked, 1 = locked */ } rte_spinlock_t; //spinlock的初始化,lo原创 2017-03-02 16:07:06 · 1740 阅读 · 0 评论 -
dpdk-gcc 多线程关键字 __thread
__thread 是gcc用于多线程存储局部变量,应该每个线程自己都有一份。#include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <time.h>__thread int var = 8;void *func0(void *arg){ ++var; printf("func0:%d\n", var);原创 2017-03-03 16:38:03 · 910 阅读 · 0 评论