此代码是 nvme-cli 的一部分(它建立在 linux api 上)
我正在尝试构建一个选项来重复 nvme-command 说线程数的n
时间。p
例如,如果我说用 5 个线程重复 50 次,那么 5 个线程中的每一个都应该单独重复 10 次。
因此,为此,我需要使用多个线程运行以下 for 循环。由于我是多线程的新手,所以我想到了使用 P 线程。我可以知道这样做的语法吗?
int* identify(int fd, int name_space, void *ctrl, int cns, int rc)
{
int *err,count=0;
struct nvme_admin_cmd cmd;
static const char *perrstr;
memset(&cmd, 0, sizeof(cmd));
cmd.opcode = nvme_admin_identify;
cmd.nsid = name_space;
cmd.addr = (__u64)(uintptr_t)ctrl;
cmd.data_len = 4096;
cmd.cdw10 = cns;
for(count=0; count<rc; count++){
*(err+count) = ioctl(fd, NVME_IOCTL_ADMIN_CMD, &cmd);
}
return err;
}