File: cio_ignore.8

package info (click to toggle)
s390-tools 2.3.0-1
  • links: PTS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 6,176 kB
  • sloc: ansic: 87,755; sh: 8,398; cpp: 8,384; perl: 3,783; makefile: 1,476; asm: 654
file content (256 lines) | stat: -rw-r--r-- 5,742 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
.\" Copyright 2017 IBM Corp.
.\" s390-tools is free software; you can redistribute it and/or modify
.\" it under the terms of the MIT license. See LICENSE for details.
.\"
.TH CIO_IGNORE 8 "Apr 2009" s390\-tools

.SH NAME
cio_ignore \- query or modify the CIO device driver blacklist

.SH SYNOPSIS
.B cio_ignore
.RB [ \-h | \-\-help ]
.RB [ \-v | \-\-version ]
.RS 11
.br
.RB [ \-a | \-\-add
.IR DEVID ]
.RB [ \-A | \-\-add\-all ]
.br
.RB [ \-r | \-\-remove
.IR DEVID ]
.RB [ \-R | \-\-remove\-all ]
.br
.RB [ \-l | \-\-list ]
.RB [ \-L | \-\-list\-not\-blacklisted ]
.br
.RB [ \-i | \-\-is\-ignored
.IR DEVID ]
.br
.RB [ \-k | \-\-kernel\-param ]
.RB [ \-u | \-\-unused ]
.RB [ \-p | \-\-purge ]


.SH DESCRIPTION
The cio_ignore command provides functions to query and modify the contents of
the CIO device driver blacklist. This blacklist determines if Linux tries to
make a device which is connected through the Channel-subsystem (CSS) available
for use by Linux.

Adding a device to the blacklist does not immediately result in a change
of device availability. For devices which are already available in Linux,
the blacklist only has an effect when attaching or re-attaching the device, or
when using the
.I purge
function. Removing a device from the blacklist on the other hand
will directly result in an attempt to make that device available.

The
blacklist is not persistent, that is it is cleared during initial program load.
To create a persistent blacklist, add the output of the
.I kernel-param
option to the Linux kernel parameters.

.B Advantages of using a blacklist

The CIO device driver will not perform device discovery operations or allocate
memory for devices which are on the blacklist. Therefore it is possible to
significantly reduce time and memory consumption during the boot phase of Linux
by specifying a blacklist as kernel parameter which contains all devices that
are not required for normal operations.

Using the
.I purge
function, it is also possible to make devices only temporarily available (for
example DASD disks which are only used for backup) and remove them afterwards
when they are no longer required.


.B Device ID format

To identify a device, specify its device ID in the format:
"<CSSID>.<SSID>.<DEVNO>". For example: "0.0.0190".
.br

The meaning of each field is:

CSSID
.RS
Channel-subsystem ID in hexadecimal notation with at most two digits.
.RE

SSID
.RS
Subchannel-set ID in hexadecimal notation with exactly one digit.
.RE

DEVNO
.RS
Device number in hexadecimal notation with exactly four digits.
.RE

Devices for which CSSID and SSID are 0 can alternatively be specified by
using only the device number, either with or without leading "0x" and zeros.
For example: "190", "0x190" or "0190".




.SH OPTIONS
.B \-h
.br
.B \-\-help
.RS
Print a short help text, then exit.
.RE

.B \-v
.br
.B \-\-version
.RS
Print version information, then exit.
.RE

.B \-a
.br
.B \-\-add
.I DEVID
.RS
Add one or more device IDs to the blacklist.
.br

.I DEVID
can be a single device ID as specified in section DESCRIPTION, or it can be a
range of device IDs, or  a comma-separated list of device IDs or ranges. Ranges
may not cross SSID boundaries. See also section EXAMPLES.
.br

Note that adding an existing device to the blacklist will not immediately
change its availability in Linux.

.RE

.B \-A
.br
.B \-\-add\-all
.RS
Add the complete range of possible device IDs to the blacklist.
.RE

.B \-r
.br
.B \-\-remove
.I DEVID
.RS
Remove one or more device IDs from the blacklist

.I DEVID
can be a single device ID as specified in section DESCRIPTION, or it can be a
range of device IDs, or  a comma-separated list of device IDs or ranges. Ranges
may not cross SSID boundaries. See also section EXAMPLES.
.br

When a device is removed from the blacklist, Linux will immediately attempt
to make that device available.
.RE

.B \-R
.br
.B \-\-remove\-all
.RS
Remove all device IDs from the blacklist.
.RE

.B \-l
.br
.BI \-\-list
.RS
List device IDs on the blacklist.
.RE

.B \-L
.br
.B \-\-list\-not\-blacklisted
.RS
List device IDs not on the blacklist.
.RE

.B \-i
.br
.B \-\-is-ignored
.I DEVID
.RS
Check if the device with the specified ID is on the blacklist. If it is
on the blacklist, the exit code is 0. If it is not on the blacklist, the
exit code is 2.
.RE

.B \-k
.br
.B \-\-kernel\-param
.RS
List the current blacklist in cio_ignore kernel param format.

To make a blacklist persistent across IPL, use the output of this command
and add it to the Linux kernel parameter.
.RE

.B \-u
.br
.B \-\-unused
.RS
Create a blacklist which includes all unused (i.e. offline) devices.

Note: The new blacklist replaces any previous one. Also in this
context, an unused device is a device which is currently not online (see
.BR chccwdev(8) ).
.RE

.B \-p
.br
.B \-\-purge
.RS
Remove all blacklisted unused (i.e. offline) devices from Linux.

To make a device available again, use the
.I remove
or
.I remove\-all
function.
.RE

.SH EXAMPLES

.B cio_ignore -a 0x190,0.0.1000-0.0.1002
.RS
Add devices 0.0.0190, 0.0.1000, 0.0.1001 and 0.0.1002 to the blacklist. If these
devices are currently available in Linux, their availability will not
immediately change.
.RE

.B cio_ignore  -A -r 0x190
.RS
Add all devices except device 0.0.0190 to the blacklist.
.RE

.B cio_ignore -r 0x190
.RS
Remove device 0.0.0190 from the blacklist. If this device is currently attached
to the Linux system but not available, it will immediately become available.
.RE

.B cio_ignore -u -p
.RS
Remove all devices from Linux which are currently not online.
.RE

.B cio_ignore -u -k
.RS
Set the blacklist to contain all offline devices and print the corresponding
kernel parameter.
.RE

.SH SEE ALSO
.BR lscss (8),
.BR chccwdev (8)