SMC模块初始化流程
smc模块加载,调用smc_init
static int __init smc_init(void)
{
register_pernet_subsys(&smc_net_ops);
--->>>注册netns中的钩子函数,1.smc_sysctl_net_init初始化sysctl中的系统变量,获取到ctl_table_header ,主要是SMC特有的sysctl接口,给用户实时设置
--->>>2.smc_pnet_net_init,为每个netns配置pnetid,多个smc设备划分lgr使用
smc_ism_init()
--->>>默认为false,5.10仅S390平台支持smcd,后续可以单独写一篇文章,在解读阿里的GuWen的SMC-D loopback特性时重点简介。
smc_clc_init()
--->>>设置默认的hostname
smc_nl_init()
--->>>注册netlink消息,给smc-tool等用户态工具获取smc state建立消息通道
smc_pnet_init()
--->>>建立用户对smc设备配置pentid的通道
smc_tcp_ls_wq = alloc_workqueue("smc_tcp_ls_wq", WQ_UNBOUND | WQ_HIGHPRI, 0)
--->>>初始化工作队列smc_tcp_ls_wq&