Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
2881ae74
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
2881ae74
编写于
12月 20, 2007
作者:
T
Trond Myklebust
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
SUNRPC: Clean up the transport timeout initialisation
Signed-off-by:
N
Trond Myklebust
<
Trond.Myklebust@netapp.com
>
上级
698b6d08
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
27 addition
and
31 deletion
+27
-31
include/linux/sunrpc/xprt.h
include/linux/sunrpc/xprt.h
+0
-5
net/sunrpc/xprt.c
net/sunrpc/xprt.c
+0
-17
net/sunrpc/xprtrdma/transport.c
net/sunrpc/xprtrdma/transport.c
+6
-1
net/sunrpc/xprtsock.c
net/sunrpc/xprtsock.c
+21
-8
未找到文件。
include/linux/sunrpc/xprt.h
浏览文件 @
2881ae74
...
...
@@ -202,11 +202,6 @@ struct xprt_class {
char
name
[
32
];
};
/*
* Transport operations used by ULPs
*/
void
xprt_set_timeout
(
struct
rpc_timeout
*
to
,
unsigned
int
retr
,
unsigned
long
incr
);
/*
* Generic internal transport functions
*/
...
...
net/sunrpc/xprt.c
浏览文件 @
2881ae74
...
...
@@ -977,23 +977,6 @@ void xprt_release(struct rpc_task *task)
spin_unlock
(
&
xprt
->
reserve_lock
);
}
/**
* xprt_set_timeout - set constant RPC timeout
* @to: RPC timeout parameters to set up
* @retr: number of retries
* @incr: amount of increase after each retry
*
*/
void
xprt_set_timeout
(
struct
rpc_timeout
*
to
,
unsigned
int
retr
,
unsigned
long
incr
)
{
to
->
to_initval
=
to
->
to_increment
=
incr
;
to
->
to_maxval
=
to
->
to_initval
+
(
incr
*
retr
);
to
->
to_retries
=
retr
;
to
->
to_exponential
=
0
;
}
EXPORT_SYMBOL_GPL
(
xprt_set_timeout
);
/**
* xprt_create_transport - create an RPC transport
* @args: rpc transport creation arguments
...
...
net/sunrpc/xprtrdma/transport.c
浏览文件 @
2881ae74
...
...
@@ -289,6 +289,11 @@ xprt_rdma_destroy(struct rpc_xprt *xprt)
module_put
(
THIS_MODULE
);
}
static
const
struct
rpc_timeout
xprt_rdma_default_timeout
=
{
.
to_initval
=
60
*
HZ
,
.
to_maxval
=
60
*
HZ
,
};
/**
* xprt_setup_rdma - Set up transport to use RDMA
*
...
...
@@ -327,7 +332,7 @@ xprt_setup_rdma(struct xprt_create *args)
}
/* 60 second timeout, no retries */
xprt_set_timeout
(
&
xprt
->
timeout
,
0
,
60UL
*
HZ
);
memcpy
(
&
xprt
->
timeout
,
&
xprt_rdma_default_timeout
,
sizeof
(
xprt
->
timeout
)
);
xprt
->
bind_timeout
=
(
60U
*
HZ
);
xprt
->
connect_timeout
=
(
60U
*
HZ
);
xprt
->
reestablish_timeout
=
(
5U
*
HZ
);
...
...
net/sunrpc/xprtsock.c
浏览文件 @
2881ae74
...
...
@@ -1895,6 +1895,13 @@ static struct rpc_xprt *xs_setup_xprt(struct xprt_create *args,
return
xprt
;
}
static
const
struct
rpc_timeout
xs_udp_default_timeout
=
{
.
to_initval
=
5
*
HZ
,
.
to_maxval
=
30
*
HZ
,
.
to_increment
=
5
*
HZ
,
.
to_retries
=
5
,
};
/**
* xs_setup_udp - Set up transport to use a UDP socket
* @args: rpc transport creation arguments
...
...
@@ -1905,6 +1912,7 @@ static struct rpc_xprt *xs_setup_udp(struct xprt_create *args)
struct
sockaddr
*
addr
=
args
->
dstaddr
;
struct
rpc_xprt
*
xprt
;
struct
sock_xprt
*
transport
;
const
struct
rpc_timeout
*
timeo
=
&
xs_udp_default_timeout
;
xprt
=
xs_setup_xprt
(
args
,
xprt_udp_slot_table_entries
);
if
(
IS_ERR
(
xprt
))
...
...
@@ -1923,10 +1931,9 @@ static struct rpc_xprt *xs_setup_udp(struct xprt_create *args)
xprt
->
ops
=
&
xs_udp_ops
;
if
(
args
->
timeout
)
xprt
->
timeout
=
*
args
->
timeout
;
else
xprt_set_timeout
(
&
xprt
->
timeout
,
5
,
5
*
HZ
);
if
(
args
->
timeout
!=
NULL
)
timeo
=
args
->
timeout
;
memcpy
(
&
xprt
->
timeout
,
timeo
,
sizeof
(
xprt
->
timeout
));
switch
(
addr
->
sa_family
)
{
case
AF_INET
:
...
...
@@ -1961,6 +1968,12 @@ static struct rpc_xprt *xs_setup_udp(struct xprt_create *args)
return
ERR_PTR
(
-
EINVAL
);
}
static
const
struct
rpc_timeout
xs_tcp_default_timeout
=
{
.
to_initval
=
60
*
HZ
,
.
to_maxval
=
60
*
HZ
,
.
to_retries
=
2
,
};
/**
* xs_setup_tcp - Set up transport to use a TCP socket
* @args: rpc transport creation arguments
...
...
@@ -1971,6 +1984,7 @@ static struct rpc_xprt *xs_setup_tcp(struct xprt_create *args)
struct
sockaddr
*
addr
=
args
->
dstaddr
;
struct
rpc_xprt
*
xprt
;
struct
sock_xprt
*
transport
;
const
struct
rpc_timeout
*
timeo
=
&
xs_tcp_default_timeout
;
xprt
=
xs_setup_xprt
(
args
,
xprt_tcp_slot_table_entries
);
if
(
IS_ERR
(
xprt
))
...
...
@@ -1988,10 +2002,9 @@ static struct rpc_xprt *xs_setup_tcp(struct xprt_create *args)
xprt
->
ops
=
&
xs_tcp_ops
;
if
(
args
->
timeout
)
xprt
->
timeout
=
*
args
->
timeout
;
else
xprt_set_timeout
(
&
xprt
->
timeout
,
2
,
60
*
HZ
);
if
(
args
->
timeout
!=
NULL
)
timeo
=
args
->
timeout
;
memcpy
(
&
xprt
->
timeout
,
timeo
,
sizeof
(
xprt
->
timeout
));
switch
(
addr
->
sa_family
)
{
case
AF_INET
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录