首页 > 其他分享 >在aarch64上编译,fstack: master分支:5b97230c858598a10e1b82c tag: v1.23, origin/master

在aarch64上编译,fstack: master分支:5b97230c858598a10e1b82c tag: v1.23, origin/master

时间:2024-04-03 09:55:44浏览次数:36  
标签:fstack origin pcpu master usr ff include local stack

F-Stack一个基于DPDK的开源和高性能网络框架   基于DPDK23.11需要做如下操作 sed替换: sed -n '/DEV_RX_OFFLOAD_IPV4_CKSUM/p' drivers/net/macb/* sed -i 's/ETH_/RTE_ETH_/g' *.c sed -i 's/DEV_/RTE_ETH_/g' *.c   f-stack适配dpdk20.11 sed -i 's/RTE_MBUF_F_RX_IP_CKSUM_BAD/PKT_RX_IP_CKSUM_BAD/g' *.c sed -i 's/RTE_MBUF_F_/PKT_/g' *.c 注释掉: pmap_change_prot   编译错误:call-clobbered register used for global register variable 文件freebsd/arm64/include/pcpu.h中x18改为x22 register struct pcpu *pcpup __asm ("x22"); 这样改虽然通过编译,但一直有段错误:freebsd/net/netisr.c:1139,所以改为非寄存器变量   f-stack/lib/include/machine/pcpu.h:50:40: error: ‘struct pcpu’ has no member named ‘pc_prvspace修改如下: -#define PCPU_SET(member,value) (pcpup->pc_ ## member = (value)) +#define PCPU_SET(member,value) (pcpup = (value))   编译错误ffs重定义 +++ b/lib/Makefile @@ -355,7 +355,7 @@ LIBKERN_SRCS+= \ - fls.c \ + #fls.c \ flsl.c   基于dpdk20.11, f-stack master分支:5b97230c858598a10e1b82c tag: v1.23, origin/master,修改如下,可以正常编译 f-stack.patch   编译redis错误:jemalloc/jemalloc.h: No such file or directory jemalloc重载了Linux下的ANSIC的malloc和free函数,解决方法如下: 在make命令后加上参数malloc make MALLOC=libc   编译f-stack lib导出: export FF_PATH=/root/f-stack export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib/pkgconfig   nginx with debug ./configure --prefix=/usr/local/nginx_fstack --with-ff_module --with-cc-opt=" -g3 "   ./helloworld --conf /etc/f-stack.conf --proc-type=primary   struct pcpu *   # Close ASLR; it is necessary in multiple process echo 0 > /proc/sys/kernel/randomize_va_space   uma_startup1   https://github.com/forxycc/f-stack/blob/forxy-v1/build-aarch64.sh   在aarch64平台,struct pcpu没有成员 pc_prvspace,修改如下: +++ b/freebsd/arm64/include/pcpu.h + struct pcpu *pc_prvspace; \ u_int pc_bcast_tlbi_workaround; \ u_int pc_mpidr; /* stored MPIDR value */ \ - char __pad[201] + char __pad[197]   下面是用fstack自带的dpdk21.11的arch64补丁包: patch2111.patch   编译错误:./machine_include/machine/pcpu.h:60:23: error: call-clobbered register used for global register variable [-Werror] 60 | register struct pcpu *pcpup __asm ("x18"); | ^~~~~ 加上:-ffixed-x18,选项可以解决上面的问题   解压:f-stack_head.tar,拷其中的文件到下面目录,拷 cp -f ff_config.h /usr/local/include/ff_config.h cp -f ff_api.h /usr/local/include/ff_api.h cp -f ff_event.h /usr/local/include/ff_event.h cp -f ff_errno.h /usr/local/include/ff_errno.h cp -f ff_epoll.h /usr/local/include/ff_epoll.h 库文件操作如下: cp -f libfstack.a /usr/local/lib/libfstack.a.1.23 ln -sf /usr/local/lib/libfstack.a.1.23 /usr/local/lib/libfstack.a

标签:fstack,origin,pcpu,master,usr,ff,include,local,stack
From: https://www.cnblogs.com/wangwangever/p/18112010

相关文章

  • MySQL主从同步延迟Seconds_Behind_Master很大
    1.mysql> showslavestatus\G  查看延迟6天多,也是很神奇了2.查看 Master_Log_File和Relay_Master_Log_File对比,可以说明中继日志差100多位置,所有定位是中继日志问题 3.查看中继日志文件,密密麻麻的relay-bin文件 4.查看优化配置mysql>showvariableslike'%......
  • socket.io 跨域 cors.origin 的值,用于解决跨域问题
    在使用socket.io库时,对于实现跨域资源共享(CORS:Cross-OriginResourceSharing)的配置,您需要设置服务器的CORS选项来允许特定来源的请求或所有来源的请求。当创建或配置socket.io服务器时,CORS相关的设置通常是在初始化服务器时作为选项提供的。下面是几种不同的socke......
  • On the origin of deep learning深度学习的起源:从亚里士多德到现代人工神经网络 文章
    这篇博文是这篇论文的第二章,括号中内容是博主的个人见解,也包含一些不理解的地方,欢迎交流及指正错误。目录从亚里士多德到现代人工神经网络联想心理学(Associationism)Bain和NeuralGroupingHebbinan学习法则Oja’sRuleandPrincipalComponentAnalyzerMCPNeuralMode......
  • greenplum-一个master两个segment安装
    原文连接忘记了,是参考文章+本地实践整理出来的此篇内容1.安装说明GreenPlum6.X目前支持以下版本操作系统:RedHatEnterpriseLinux64-bit7.xRedHatEnterpriseLinux64-bit6.xCentOS64-bit7.xCentOS64-bit6.xUbuntu18.04LTS建议采用7.3以上的7系列版本......
  • 在master主分支上改了代码,忘记切分支了怎么办
    前言:在软件开发过程中,Git作为一个强大的分布式版本控制系统,极大地提升了开发者们对于代码版本管理的能力。而在复杂的项目开发中,我们时常需要在不同的分支之间切换,来实现功能开发、bug修复或是协同合作。然而,有时难免会在错误的分支上开始编写新功能,这时,Git的Stash功能便扮......
  • OriginBot使用指引
    详情可参加:OriginBot智能机器人开源套件——支持ROS2/TogetherROS,算力强劲,配套古月居定制课程(guyuehome.com)让我们一起踏上智能机器人开发之旅吧!在以下操作过程中,需要大家具备一些机器人开发的基础知识,建议通过以下几个问题做下自我测试:Linux是什么?Ubuntu是什么?如何启动......
  • 专注驱动器芯片,包括MASTERGAN1TR、VNQ860SP、VNH9013YTR、VN5160STR用于汽车应用
    1、MASTERGAN1TR——半桥驱动器通用DMOS31QFN输出配置:半桥应用:通用接口:-负载类型:容性,感性技术:DMOS导通电阻(典型值):150毫欧电流-输出/通道:10A电流-峰值输出:17A电压-供电:4.75V~9.5V电压-负载:600V(最大)工作温度:-40°C~150°C(TJ)特性:自举电路故障保护:超温,UVLO安装类型......
  • CF1615F LEGOndary Grandmaster
    CF1615FLEGOndaryGrandmaster计数好题,转换条件+转化贡献+组合数首先题目的操作没有什么好的性质,考虑一个经典的trick,将奇数位置上的数字取反,于是题目的操作变成\(01\rightarrow10\)或\(10\rightarrow01\)。这个操作的性质就是序列中\(1\)的总数不变,并且操作可以抽象......
  • 如何回退已经合并的master代码?
    如何回退已经合并的master代码?在CodeUp(一个代码托管平台,类似于GitLab、GitHub等)上撤销已经合并到master分支的提交,你需要遵循以下基本步骤:回滚master分支:如果你想要撤销整个合并操作并恢复到合并前的状态,你可以执行一个反向合并(revertmerge)。在Git中,这通常通过创建一个新......
  • 【漏洞复现】Progress Kemp LoadMaster 命令注入漏洞(CVE-2024-1212)
    0x01产品简介ProgressKempLoadMaster是一款高性能的应用交付控制器,具有可扩展性,支持实体硬件和虚拟机的负载均衡。它提供了当今应用服务所需的各种功能,包括深度用户验证、资安防护(如WAF/IPS/DDoS防护)以及零信任架构服务。这款控制器旨在为各种规模的企业和单位提供出色的负......