rpc超时时间的设置对句柄和内存的影响

今天实验验证:四台拷机,配置修改入下

(1)断网  拷机时间均加快

(2)通网  拷机时间均加快

(3)断网  拷机时间均加快 另外配置超时时间为0

 (4)  通网  拷机时间均加快 另外配置超时时间为0

结果分析对比:

11:30到13:36拷机分析:

RPC超时时间设置为60时:

       断网:句柄为272     内存峰值  17368

### 高通RPC相关概述 高通RPC(Remote Procedure Call,远程过程调用)是一种用于进程间通信的技术[^4]。它允许一个程序调用另一个地址空间中的过程,而无需程序员显式处理底层通信细节。在高通的开发环境中,RPC通常与CDSP(Compute DSP)、ADSP(Application DSP)等异构计算单元结合使用,以实现主机与DSP之间的高效通信。 #### RPC实现的核心流程 在高通的开发环境中,RPC的实现依赖于Fastrpc框架,该框架提供了主机与DSP之间的通信接口。以下是一个典型的RPC调用流程: 1. **获取设备句柄**:通过`rpmsg_get_rpcdev(dev)`函数获取目标设备的句柄。这一步确保了正确的通信通道被初始化[^1]。 2. **构造请求消息**:将需要传递的数据封装到`rpc_req_msg`结构体中。 3. **发起RPC调用**:调用`rpmsg_rpc_call(rpcdev, req, result, timeout)`函数执行远程过程调用,并等待结果返回。 4. **处理返回值**:从`result->retcode`中提取调用结果并进行后续处理。 #### Fastrpc工具链的使用 为了生成IDL(Interface Definition Language)文件对应的头文件存根/骨架源文件,可以使用QAIC工具。例如,在高通SDK目录下运行以下命令可以生成所需的文件: ```bash cd SDK目录/ipc/fastrpc/qaic/Ubuntu/qaic examples/add/inc/add.idl -o examples/add ``` 这条命令会根据`add.idl`文件生成C语言的头文件源文件,便于开发者快速集成RPC功能[^2]。 #### 示例代码解析 以下是一个简单的RPC调用示例代码,展示了如何使用高通的Fastrpc框架完成远程过程调用: ```c #include <linux/rpmsg.h> #include "fastrpc.h" int rpmsg_rpc_call_trace(int dev, struct rpc_req_msg *req, struct rpc_ret_msg *result) { struct rpmsg_rpc_device *rpcdev; int ret; // 获取目标设备句柄 rpcdev = rpmsg_get_rpcdev(dev); if (!rpcdev) { return -EINVAL; } // 发起RPC调用 ret = rpmsg_rpc_call(rpcdev, req, result, 1000); // 超时时间为1000ms if (ret < 0) { return ret; } // 提取返回值 ret = result->retcode; return ret; } ``` #### 后端选择与运行示例 在实际应用中,可以选择不同的后端来运行模型或算法。例如,使用HTP(Hexagon Tensor Processor)作为后端时,可以通过以下命令运行神经网络模型: ```bash qnn-net-run --model bin/x86_64-linux-clang/libmodel.so \ --input_list /path/to/your/input.txt \ --backend "${QNN_SDK_ROOT}/lib/x86_64-linux-clang/libQnnHtp.so" ``` 这条命令指定了模型文件、输入数据列表以及后端库路径,适用于深度学习推理场景[^3]。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

季截

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值