Re: possible bug in ll_rw_blk.c in 2.0.x and 2.1.x

Kelly French (targon@hazmat.com)
Sun, 30 Nov 1997 18:27:41 -0500 (EST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

--142631878-700359583-880932461=:15414
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Mon, 17 Nov 1997, mlord wrote:

> Kelly French wrote:
> >
> > Ok, here's my fix for this. What it does is remove all of the 4-entry
> > arrays from kstat and replaces them with a linked list holding all the old
> > data types along with which device it belongs to. I also preload 4 empty
> > devices so that at boot up it still works for programs expecting 4
> > entries. Once you hit 5 entries your programs may GPF :-)

> Okay folks, any chance of simplifying life here in add_request() ??
>
> This is the mainline path for I/O, and we really ought to keep
> unnecessary overhead to a minimum.
>
> Got any alternatives, like a simple table by device number or something?

Here's my final attempt. blockstatdirect-2.1.64 doesn't have to search
for the device. I'm not happy with this because it allocates an array of
128 (MAX_BLKDEV) pointers. After that, it allocates a 2d array for each
major for 8 devices and 5 stats. Thus on my 3-disk computer (sda, hda,
hdc), I get basically 125+3*(7*5)=230 unused ints.

I included blockstatarray-2.1.64 because it's a little cleaner than
before. In my 3 disk computer, it has 1*6 unused ints. This patch
linearly searches a sorted array of used devices. This should be changed
to binary search for n>8 or so. I'd rather see this one used instead of
the 'direct' patch.

-KF

--142631878-700359583-880932461=:15414
Content-Type: APPLICATION/octet-stream; name="blockstatarray-2.1.64.gz"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.93.971130182741.15414B@scdh-99.umd.edu>
Content-Description:

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
AAA=
--142631878-700359583-880932461=:15414
Content-Type: APPLICATION/octet-stream; name="blockstatdirect-2.1.64.gz"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.93.971130182741.15414C@scdh-99.umd.edu>
Content-Description:

H4sICAzugTQAA2Jsb2Nrc3RhdGRpcmVjdC0yLjEuNjQArVh7c+JGEv8bPkWf
ry4BSxgkMH6w3lvnTC7EXnsPnHivfJRKFoMZIyRWD8tOinz2654RoKdNXc61
a0N3T79mpvvXM+HTKTRCD2zuhC8NvaEddDvNicefmec3H2zXmjdt2/Ai48Ge
H1hSbMI9ZgXlUtVGo7GjwsrIDODafQY4Bq1z2j451XTQTk6Oqoqi7GatMgod
oaLdAu3oVNdODzWp4tMnaGhHahcU/H0Enz5V4a/csexwwuCD0N0kZf7B7GOe
s1gUkrnDA2IoOXnTRmViTXKV6S+a/qsfsKw6YnCXiOSmrndV7RgUXT9Sdelq
hdk+A881Hnjg3y/MJ9cb3y+443rw8SMcjuG7M/ijpsGHD1CT5O+grdXrvSqs
0IeGH5gBt4A76B+DZ5dPQOTQIIZhWlZQ404A1mKiQuj4/NFhE7Bd5xEcz/Ax
5a7nq1WlSA335wkt8wl7NgLA3yrsoBF2+PFnrhdIO9yZsJd6FX6vNipzMnow
mRsikPstf6woPeTzKdTQOpydwbB/flEXizKrDI+7+ZU5ITxaSSlQzhJB0IoV
iP1JmLwbDm77xTajXWxGO9qkpUsPMz2vXfaH10Z/OIS9zNae0i6A4wYwbN79
/T/OHh4LpbLZFNqmfRJGtQoyKIq/xO6sN/f+8/nPN8Mabmt9TFEpG4eLJOAM
5vIK1Hz+G3OntaSxOuzDIf6/HN2e3xoXg9HlSIV//vjFoAD6V8K5yoItfIbH
qdyICi0VdlMvVK7wv4iSvCtXm0x6L86GWBaHLT7fX1wKzWLzkFhw1pCaljWG
g5u1fJbzw9VlbodR7I1jlVdyV6r+7k31YkH+CKWudfEJWsniAs19WbY6XSys
in7YjesrboLHvoXMDxo29zHx3IElMy12QDzB/+EVghn3YemifZXEGx/JFJJM
OzJffWA8mDFPpLUpolfBYc8x5VySztVqA5VFM27NaClfLLFkmHiup1gJs4Wu
DuaD+4xOKG+sSVe1zRL0uUkhi9JnTiZGHCAeES+0AsBba1AFjL/uy0IYf4tl
ZVrqMmeHHVVvY9K6nU2pz0kHi6UK+/tW6HnMCdYmeyRKpbFSSRRHpOLONPfh
xrFfwXJDDCiauTYjT7jFfFVs49L0Ah5w1/FFQBU/4gHmoSYvgtgG7xtFUqfD
BpWKZeJBHP1jNJBHSsidEqOytY0Xq/Z5cJ1RgJ2o9dJqHbXq1Ko6otiJC5NY
+AE6dUGvZDdrfSLis5HoHcmO0BOePHjMnPc23g4u+q3YUUqIby4YmD78dCGJ
FLiyFdXWMSVoegGtnaV9Gen90cUgkRJB/nr7v2aqIzPVlZn6PySkURBlI+fP
+w7VQQH9z3mFaydsaoZ2sE3gj1c3X778O5HWtGOlbrXaqSiVtOpdlRyRkpVo
fJlLn5DeVqZ3047apAR7CdDw9S9XV2Qhc3mR88gCAz+HLOVWrzopROFTv7n0
XKtpep75msHeGV4ecWcEKrchgxssMTpiY0TIiJNPinF2dmEOXXfaW3Sta21R
//HPsahkVdjgxUCEK9puzZqZHla1h3A6ZV4M5kiCq2Azpxe3aVwmBcWGOHh5
7wlX/C46054adyjEb5vPUeIzQbYtg76sRDOXZp5UmKuyOMY2YQuH/HCBdlpE
wy1knpOBr4EbmLaBTWLup9ZJJreILFG8pmKeEMXrarsrS7tgo/Yn3GPOsPaC
v1gaTrgwrGUo1FHzqXFyAHrAsTBeD43B8F8j+qYodTrw5KCyxjAYEfO8cInt
nhNeQQEMCNf7oqVPazLNKt28PTQC8Ldw/c8OsZMLBqUpwUjRKcelvOgNHu1B
+cIS5tJ8ZGmKH5nLNAXj8vDrnkr3vDAolfIkE4RsI/QpAymSg70wQ5KTmciU
3KcG1NI6sP6lNaQIcn1dzaP5+xai1QxJGxcJ6nnBdpGgGFzyWgW5ULPg5LUL
crGFqNhCVGohKrYQlVoQc1VREEQviYJYRWEQvSSOEitRuZWoxEq0tqL8uSNS
l4OWuOvz+K7P8a4f0l+85RLf0z1WshcZ1SFdhW1VnI/lxCSxnqhc+C1XRz6f
fzVwDrjo/7ouJUqMw7LDEB9LntTxFOt4Qh2JkYooayVlau6fxptBaT2zVN6J
a09c7NyAJpWtQ6UfEe563qmI6Y5Q3u2MgWtPAGcHEAawMnfg2bSx6yLyhYUZ
YMFESGwGMQDECQDRcU2mj4Bo7Ok7brb2Yl+Sjqze3be97fBER+AtWVHd0vVQ
ydVDJVUPN/Vs+bh85E6G4IZBkuJHSxIRvaqridbdPVbjTlVJtDmBJj0WhNgL
ZbdcVRsF7R27EF+wgv5eDGni16+mfDKbY6dlttjtg1kKhLwhl4c6bwhXPrsO
/IwIhtDL8aneLn1efEtJBgLpp61uAgLR+6K+fl5EOErPZMbV4PqXr/HrhiGu
0E/5d0HufSt5SnxyvfglsSmH5u9THn2PQMYJTI6jHE7KIIzGo53D2ATPvxho
ccB+FD6eqNohKFqL/sRTOhauCTy8gkcaJ80l86YLhtdkPe421qHgbb6+GA5+
7UMHPY2JyaoAx1t6fPXlI14rR6f3EAAtT78jul4gj+UL2gXyRO/I8ygm50R6
xPCaeuna4AHYwADYlmaaUFLimza8CX1cKiOa6S5y0Y5yoqvtpDArmAk6LgcQ
V4E8X9YC8beIn0CZMR4dxyD3UJz49YtPZhWuEROSKz/k1FqubXOfjmoBC02+
BIYfBdYs91xZ20++3a0b27h+f0ixr8QYFoP3gjMh6l+v+l8YjqCp7xgAAA==
--142631878-700359583-880932461=:15414--