Viewing: at_history.4
.TH AT_HISTORY 4 2026-03-31 Lustre "Lustre Kernel Interfaces"
.SH NAME
at_history \- seconds of RPC history to keep for estimating timeouts
.SH SYNOPSIS
.SY
.BI "lctl get_param *." FSNAME "*.at_history"
.SY
.BI "lctl get_param at_history"
.SY
.BI "lctl set_param at_history=" HISTORY_SECONDS
.SY
.BI "lctl set_param *." FSNAME "*.at_history=" HISTORY_SECONDS
.YS
.SS PROPERTIES
.TP
.B Access Permissions
.BR 644 " | " -rw-r--r--
.TP
.B Scope
.br
Global and per import and target device
.TP
.br
.B Config
.br
Always present
.TP
.B Default
.br
.RB at_history= 600
.TP
.B Valid Range
.br
.RB at_history= 4
.br
.RB at_history= 3600
.SH DESCRIPTION
The adaptive timeout mechanism tracks the slowest RPC that completed in the past
.B at_history
seconds for each service to estimate how long to wait for future RPC completion.
This means that a larger
.B at_history
will cause the timeout to be more stable, but it will also take longer to
react to a change in the network.
Similarly, a smaller
.B at_history
will cause the timeout to be more responsive, but it will also be more volatile.
.PP
Regardless of the actual service completion times within the
.b at_history
window, the RPC timeout estimates will be within
.BR at_min (4)
and
.BR at_max (4)
seconds.
.PP
.B at_history
is preferred to be set as a per-target tunable using the
.BI *. FS_NAME - TARGET .at_history
parameter instead of the global parameter. This avoid issues if a single
client mounts two separate filesystems with different adaptive timeout settings.
.SH MODULES
This parameter is in the following modules:
.EX
.B at_history
.B mdc.*.at_history
.B mdt.*.at_history
.B mgc.*.at_history
.B mgs.*.at_history
.B obdfilter.*.at_history
.B osc.*.at_history
.EE
.SH EXAMPLES
Read the global parameter value and timeout history for the MDS service:
.EX
.RB mds# " lctl set_param at_history"
.RB mds# " lctl get_param mds.MDS.mdt.req_history"
.EE
.PP
Peramently set the history window size for the testfs filesystem:
.EX
.RB mgs# " lctl set_param -P *.testfs-*.at_history=450"
.EE
.SH AVAILABILITY
.B at_history
is part of the
.BR lustre (7)
filesystem package since release 1.6.4,
.\" commit 1.6.0-1416-gde3c3fdf25
but the per-subsystem tunables are only present since release 2.16.0.
.\" commit v2_15_58-111-g0f2bc318d7
.SH SEE ALSO
.BR at_early_margin (4),
.BR at_extra (4),
.BR at_max (4),
.BR at_min (4),
.BR ldlm_enqueue_min (4)