[PATCH] spinlock metering (2.3.42)

John Hawkes (hawkes@sgi.com)
Tue, 08 Feb 2000 19:25:42 -0800


This is a multi-part message in MIME format.
--------------C12AB0FF073698BFC07E20CD
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Please consider this SMP i386 patch against 2.3.42 to add a "spinlock
metering"
enhancement. This patch is also found at:
http://oss.sgi.com/projects/lockmeter/download/

This patch also provides tentative support for lockmetering of Alpha
kernels,
though this work should be considered "in progress". An earlier version
of
the patch, prior to some restructuring, did compile and execute on
Alpha.

Spinlock metering is the runtime recording of data about spinlock usage

--
how often each spinlock is acquired by each locker and held for how
long,
how often an acquisition attempt faced contention and had to wait
because
someone else owned that spinlock, and how much wait-time passed before
the
lock was released and the contention went away.

The new functionality exists in two 10KB gzip'ed pieces of code: a kernel patch containing two new files and several modified files; and a new "lockstat" command, which turns the functional act of metering on or off in a metering-capable kernel, and which retrieves the kernel's metering data and displays it to the user in a human-readable tabular format. The "lockstat" command source code can be found at the above URL.

Lockstat uses the running kernel's System.map to translate the kernel's reported virtual addresses into symbolic spinlock and procedure names, whenever possible. Wait-times and hold-times are displayed in microseconds.

After the kernel patch is applied to the kernel, a new config variable (in the "Kernel hacking" subsection) controls whether or not metering gets compiled into the kernel. A metering-capable kernel has essentially the same size as a non-metering-capable kernel because the non-metered kernel's inline locking code gets replaced by procedure calls, and the multiple-reader-single-writer locks get significantly smaller.

A metering-capable kernel is negligibly slower than a normal kernel when metering is turned off. It is 1-2% slower when default metering is turned on, recording wait-times, and it is as much as 5-8% slower when the optional "hold-time" metering functionality is turned on. Thus, wait-time metering is negligibly invasive to system performance and provides a black-box look at which locks (and their callers) produce the longest contending waits, and hold-time metering provides a more illuminating look at which callers are actually holding these locks and for how long -- more interesting information for the analyst, but at the higher cost of degraded kernel performance.

Care has been taken to minimize runtime performance impact of lockmetering. For example, the data structures that record the counts and times are separated per CPU, which means there is no cache coherency overhead when different CPUs update counts for the same spinlock being called by the same caller.

--
John Hawkes
(hawkes@engr.sgi.com)
http://oss.sgi.com
--------------C12AB0FF073698BFC07E20CD
Content-Type: application/octet-stream;
 name="lockmeter1.1.2-2.3.42.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="lockmeter1.1.2-2.3.42.gz"

H4sICFp6nzgAA2xvY2ttZXRlcjEuMS4yLTIuMy40MgDUPGl3Gseyn0e/ooJjG8QiBrSia8dE wjaJFgfkOOuZMwwNzBXM4Fm03MTvt7+q6p6VAePkvnvu8/GRUHdXdVV17dPD2J5MoH5lhh7M bSd8qLca7cZ+a+/ctcKFcAIzsF1n78x1JvY09ERjJubLzMr6QgTC27h+p16vb49du5mF8FqM ANqgH3eaR53WEbSazeZOtVr90q21154tke1D86Sz3+7sH0pkr15BXdf3D1q1Q6jKD3obXr3a AYBb8eiD6QkYK9RiDLYD2Y38R9/72AgeggZOOM8D8M1H+BlCZy58n7A8uiF4wpzPH+HWce/h fmYGEMxsH2amdYu4hd/YgZ3q98JzxBzmLg4yR7Yz3ameXV+97r8xLq7Pvr/s3fQGO1WAIe8Q uCAcczQXSOcqZA33sa0ZmOOxD+6d8GbCHBPM8PIdr/RrhGoUBoCkufc+04nzvhBwZ3q2G/rg E49+YFs+hD4iRbKFBMYJsNzFwnTGjZ0qYepPGMOYZZBi1MUhmAlP1FgyV7Qc+sPzK/DDEQov EIsdUFzSMImMp8ulPkp86pkk9qHw7mxL+HBuT+3AnMOVCO5d79Yv1cBCBnDJ4Ko/pON57ZmO JSo74zUqfWneiomNYivQoWhuVVWjmVW1bDc3qmUMmFPB406rlajgSat2DFX8qR+w8p29e/f6 ovtmCNUXUD83DDw1w9jBA0euUFnqZ3K28wK+LkdrK1D/gKLAn37g2VZQX3pu4AaPSxRb/boF 9Ym7sIP6xDMXor50bZSuhwpWjGm6GdkOdIvgSBXsyVhMYFVv3w97xutB97L37mYAL0DfqUpu EMAhiPR8TBaxX0h2JAl4gqop4Hl94rh1Rao5t01S1+c11m/XQdOzJ6y8qLNLPAwPlcaBAI8G 7AClHW/2ddlHfzGn5cjWGQqiAC/Uh1B3YW8s7vackIT0YKX+epl8bL18pp/Sxg4Ia+ZCqQhd 6RQm9np9NT1rtmfOlzNzz2Kn1kAlL1C0onWrely06ot1uhDJB7TB71CqrUPQ9zt6q9M+SPS7 dXJY24cq/TpiBZ/YdHgj153D80tzalswfPQHH8nnPo+U57L7pn9mDH8eDn4gLYFfofS1mkJ7 KKESlR5L8LsUMHszRqcc6QW5w0vlDp8XKCSRgGqErjzcLHy7fXy4heyzy9aIPruoQPLtz0s+ hyPrWA6anVY7JfgDKfiDSPBoMVJM52IUTuF2Qe7f2rudeELEUjrvffue5H+B4vq/PaVM0Pr7 pyRDIX82bv3Hhd+wNouxAGDTyRUs/xtnWIQtd5qtjn6cylT29Vob8xT8pbf4OJ/EjrD307vr wQ0exOW31xflqQiMe2tmOpVTcspP8GDQydqOGJeTw6nAs2f54Vj06MyzKA1/aTsGHZhBSIsm MevZNB14j+vmMUMar8V979mB+MxsGrcSyjp1mfh7GM0s/mEsbN8qVpKCZauqUbAorxAY6Te7 0yIcaW/aJm/aOknU4OBEp3SVfu03WQ00TwSh52B8C53gdAc+UUb5ZF0oFg+4rQO+b/8LBQek KyQ7psawnYlbRs3xYBdTNl5RQzOdTHDlLkk3B70MPwMtNXBvF21/F24o8Z2EjkXJM5gW5nQ+ phQZNwCExFtwft0AAtvbqXIuasW7xvrCQGUMqaEVAOd1u/QT00ImYhROMNHVNA34n4JmMSVc LZeuj+r+By5UciwQCWGKABkA2fqU4uwDqiHnyJgZ8HHG8EisLwJfJSAhJTB+MVeJohewBYov 1/EDxR3k2Nuav4JDS/iLOYuoS6gw3KXw+GB8YHVNkKRmXgBtdfX+4qIGyb+9XZhjdXHLjGvZ AyQmcszj0KdTSQVvbzvueNP+K/OSimdryVQbSGfB5OUthSmlemULQeCP/DgRABvFAFIMCrbG xn2os3Ef7h/U9H1p3EOj/3rQewN/An4avB8OaqDXoEn/cRZ/SyZvLdcTK3JAZ3C6wRdkWWM8 Y9szsL71HuWfnuumlEWJFTc9qUEpHi7RCebofHMtP33IUlxNKF5/evJslKvBnL/AIg1S9vKd a49TPh+25EeJXJ0REnSE3KjBUm1V5mt44QM70inFOtLbWMPxeWlyHzHF4hmt+Fm8bcR3mgQk PoZIDTeIOySvrFdpxJgLp4IGT6PupBw6vj11uB8RMIJPG454O3Ji4ZI0tYLxiKJ1J5E+hU9r g6/tWPNwLPZMf1GXJUSywawoOm4EWA3IG5dzWD0XFrR10A87zSb+B/3k8GRdaP48tiRINw86 7VRXqVlrYqZWO2CdiIIEnLnLR8+ezgIoY3Wpn5ycwNCe2+jU4Y1nLme25deg71gNWi5BKLAE WEGOHuE7d+bAW/P+FkNmeca/X/lTu4FlbUUu/tb0kSjEdjsnS0CREhg1moaBwDzPAwwq/CED uKeSRK7Eje7Fu7fdRIOMtzgn08TCOYKUcoJ/oKD2ZvfectSYvUygzt69N85+PrugCr/3w/ve 1dnPGq+qv7QeLfSaWH18zCLiw9i7w1BJWQAjQy990b96/5PxY28w7F9fGWfX5z34B3zfG1z1 LqLRcqvWrjUryeZ4YubcsL2Phm/eifJDBX5DBTf4L8N0xoY1t3G0CAADd4A+NYFRA8Zkbk59 CcQar6FXvyCKQVEMrUar8aAEq9yYgcaCbAnDwC0wU3BcxxNWiOuREA4E6KPYtMrePSezGLvp t4rdDBSIxbKGZITzgKMjEoUyR5SGcefO0fehNI0yjpe0+XhuzOGpXnva/M0p8dDCvYOv2zjS UiMqKI3mI59W6pPsuB+OGEMrgdD8YG5Y8LSVoNU72mIkP3eg9GJRgrJhjMPFQnHDPFTQwb54 5uEcsZD8JXmpSNg1oDjJXkllLxFMlKdsI9+4SvgPC1gboUalJau5Hq/Q/ytEul6oKi9CxV61 eanX27v45TSgTvW2Dj5evo17jxcX1F37G+uuTbiy3aym3tlvZbtZR+luVuQ5qKA3zPHYM+7M uT0u08eKVtYr3HdRi2wXjX1hLo2lOUW7N52pQJ9segG1K30CkZVTjdKVgDxPXVsHcGd7gRG4 xnL26OMp2y4vLCs8pCApTHzWfwkP5jo5VCl+lmhXvcHgelAWRCxg7oBZyW259NTvPB13YGSO aQ08beqH84cGKnUNbel1H6OBQZ/Qp/MnwoNiQyzrm6GrR0aNBdLobXUrWb+NciWr/w3alUK2 Ub0O6FnAgUom8xFR9owoIEI26qKj8zDL5ZmdenQ4spM3fNe/IvMFPT8z+KDGq2sgmvkZBdEk FcCsBjDrGNqLJebSxJ+s5JM8vgFY8gtP8HO04N7lZ0umE2CW4yJKjP2m50N/8MNzX/J+zJ2N Y2VYcWFbpk0r9ZeM/hsoUe/eKQH6N2pcjlGlohWuY1jLsHJKqviJnoIhZWXMB+CJwLoryXJW 8uSodJBBBKiwgFRXqxwdHwUNkFGDi4fFiFJfIv74hNzCSbO2r0e9ViW6dPtLOmAofxVgMsEJ iI8Z9cgOys2acs6VHCRv6947zGMN8Gf3BlMddC2y/kH26om/zp2gSu6I+7VFroqgzHOqz8fY ZYg0lgFXBk8gT5jiJw2mYmqBQDMxOUGR7FOh8jKqlWVAXixPkyHk4D0ygolJ3ReWLLQDlxoa 3F8xrSA0qa3sLsGUQyiXBBz/uRP5+NUd/VOoav454kARgMIIvgumRCu8CY5l4Ef0gHGGflCM bUv2qFiG0fzafAFjuswYAH1h7akeZwiUfMnBVjpLADWYzi9kppBHID7CCoIofSg1Iq4axGOr 9lvJfPitpCZbTFMEXUzTKB5UNOkxahTCHT0qjvIUzkVUKrI+8eCspGgun9Gl9FG1los0Mq2Q ylbTKhlBfolSFpj8inJKu0/pqnWr/NMLaEpGVhNTamVkm+GKoxVOst4iB6N4SWz+q0KzlvOF LoG991//Rwj4iUSzRT5Pbx/F8WqSCRQ7kD7LpMeXysClMz3Nroz7gwUL65Erj3xaJjIx41/i 5DcQJT08uyFPTB9O1VOYfb4tctyMHtdvyrOB8myQKTVsdMI5tU8eiaTI8u7TipIWUiUHUcmh Sz1EWYsvI4lKHqaSLQsKVQ7yYSg5FNggfGVvK+LfJg/kR2lf0ETKr9+cB+ZX/60W0gqy1NM+ vdnBvPLgeKWDhDni5g5SjSD+C9tIfXquWdxFWp2KtTVubbLVYSpnzP51urmVJBf9R/tHawN9 aRn6s8kcTmHpLucYP/GTNbdLndKLKXqIh0qHbMNx0QgoZ9ndg05pIRau91iS9vWZJtTmjdWG uPVkXop2csMg3krRkNpymwZWHJjSLTPugVU0HpP9MDnC/JZzzmLlxLdvIbDR+FhhbFXlZVdv Ydvx2oIK73jrCi+HKmfXR5391GWY/SaFTP7JFw3JN65mCuwd2R3Kkk9m+hSQ6qTJulRoHf78 c8MjfNBwTfmralVVhzJBMcZiGcxoVktS8GdyGz5Kilgyxqqa7ChVk/2hsBagRGNqMlr0/GUO 1F9Iab2+CWs6NSsmd3t92rptkFu+jUZtahp8qUoluFZ0qr2f6NQh1834s9XKdKTSGTDdO0OX Si0afnCHjmIUeHP4GhP/ZmmbGwP5+pAK89WEfG3yvmEx5cXrE+PEA62pH2WSjO6x0DVy8z6h OpYDViJry5TK5l0zdcbn982fwGd2TvxmcaIIsdRyrYriqoVtlmwwKgDkBS9WnKPj2glUT/aj a8+x7dIzxeh60YZniytl/6nKyxFBcSWc9jpKIjS2QSCZB4uwnvt1VZu8Yst3pqq6jhmVujTD vjGp29Kea2vOM9Xl1rxn9OHLuK9v6in9ARu6SqfwqbKBofV4tXXVp6zC/mqPK5V6FNcScYNx gIVNnSsFiA4X81u+uE72tAjngU0dSCqA6HINV2ntQ9Lpqn64X2u1k0iLu1FXKMID9H4AwnCD 0nZg5XaeT53wGSZgjaEkqrqtn0zKMe5g5ouuddVZ0dpIGwt1v6hUpmptjdVLvffu6y8XfKXz qxcgizR5lfNLrSBbdGYsYBTa87GRJq8GJSMFMTHRLsalbQy8sEgnLvmsD3R51scntfZhYtz/ NiZzhXABlxn6mM0UzDo+M3V8XANXNA19B0R+oxwFa0oOML8vQZGzeEaAyo+l+8e5+rpSjNoc jzEPKKGMmG/j2353aAxvBlCi1GCb/T5vFOo0KdIXPvnOna1yMvRc1gzchW3RIN9Po1sxyVCF Fp4mq8bCKsfX2GSiSn/VX6qrd/CSssmqFj331FOwKOEUrFqgenmxCW7BKOUy2Wupn2m5JOxX om1XEVRSVfI6YebR5aSptHYVyWfhpNZS7r/NaUjzU8N+OOIQQLGgnNaw6L7h5/s8sprfssmz snh9zr6y9C+3d1YxbdPb0Q9P/p82d2Qnpbi7UzAXs/ijOQ+RsonrcRgumfxsogRLk17wIftc mj7RF7jA5BnhcmwGgpnVfvnlF6jTG2X3aDkmKp8JqLN1P+SLxNxfDH1+3eybb76Jrg5HdF0M b7o3Rvfsxri6Nj50+zea1iyapXipaZpeOHfRe4dwWqtoctD7rneGs+2iycvuT8aP3Yv3vaGm 7acEMlwKyzbncJcVDKY20ALMmHx6YGU6MOgmkmHAFemssDroGoMP67jByWHvsit5iak5o9vF 9HyWXqsaMzUcIugagLyqjTkS08e7j210PYHrPTJwQF2tsW2ZnKdl2HIn8cuDEa5G7nw0Sdfl +4ubvvQR3fPzQW845Cu0KRovzQd7ES74PkIaMVHkA9/gQORoIBhZfCEf9jEZvCG920VSddwA xTsF4bjhdNaA8pWLKzGbpPsKM3O5FI6fWsugyXpMPoMZf/Ddhdoe7u35XOIVsHAdm9p24+Kj IW3gD/2r895PeAbcFCAWJZFD4g2dJixM/zZWipnpzySD5LRdHouPoHijt93hW+Om++1Fzxj2 f+mh7jVPDjXKuRehz5S2dnevNgNedoffa1q5EGFd57AUHY7GF/wlIp/UVl68jZRGnVKKaOjT dXUnMG2HL8Vrqcv/YI5cekFVqs1IcK6fkavWTVCprfh1vwhjonT2GKftCSknYa6zmDWOPz75 wtA3pyKrph5d6FkG/NDmni8xUH1Az4Tr1jJkeLQ9U901DumCgwsL27EXdHiWac34JVMBWGpM 8X90QPQWJflQdUeZMhxKcbVdfpPVMzzzlA8ILR7piV+WCOh9WiyjJHV8iV6CRe0UCZU2Mbkq 9LF8CTQHo77BVotGKh5ONfkoXXpa27lNyiipzbzfzLwTsl5C75zWP2lQhP9T3hfIy9ZGkHrv A8+JsdfH9gLtCtnBfU3PMx+ln0ES1JGBOpLE86h3RBpKvYSCQzVrJ+jMeYfntTo9IQAnXIww CMP3Qixh4rkL5MFD4kmDkoPxUaeCe4FxE2H8CP48p1AsLdRTpUAiUaoIoquuAfSV8/Plu8+3 CEknSJwRLJ6ha3F/k6Ov6Uh4UCyCMmhu90WhnRlmClQYyNhTovu2n5ySKT+3nLGEZDxKszPg StQszw3KGaKvOdw3As0KF8a9aQdGYKOCSHXDsZCKiTu6k7EgImlFpHlpyJmLZdJGSFqRgmy3 EHJhPqzsiWO8C79ugxpQAJLfjEBobA0IS+LXomD9+2mi4WxoUmhKuyNpFcxrcoyeTUVDvxb5 /t/Tr0ehPdLrQh8xZNK781Kn68AFQfw2Pp4b+gnpFFxnz51MakABwpUvGhWGgevXr1eTneur 1bTg+opTo2HhzNvri/Phau6DM92LiyhARBjgzxxgpqUqp9QzN9qsUPWk59KULNWjKXmi0XMq pdjsiflQszC2b8ivSRizw2O1l48YWKCCLEdWXGiVDI86gdCoMHh0Snuu2J2wLeMYXf3xCUFq OTtXuorGb5skDjY2XdqYFgEtWglajIn00iBkikCDBiJbkSSz6qL1+sLCbBdrD8HFSaLNBE03 6tE9K0j6y6egRUCuo5jMPGXVNCUi459Yh6GHY9LVZ/Rlwkmr3D36F7W+EFdEfRpXRL+MGiiO CHkSxjRtVz3S4Y4NX6Nl2CiWIVR6QSEolqkJoPK7KUiQkGX+GgF2uCWEKFUkrlWDxZCc/MUR FtGq7yCI3HVIJjsKJxP8RUFLKhMHGuleU7hXQqS2mwzFEXzrDRCW35XMhGFabigXorxU3LIw DPWs21h9ayNVur5cNdRBt+xUNHpwIa8c7lbKUC5nTr4iW2HolQ1JoqFOrtyswDP4n3YFPYJT gYwbOO8PKKEseyZdZiznUdI4QiB4YVJaqcrsM365VKVusjEh6wFK4yhvQZTJl5jITKsuM6wo 6AqvFmf6fJcwUbwkjQx8MZ9AGW3Q9cbykBzbEphz+kvqZNHT9jhXl/UGZQXCrzSwTJffQBGi 2ylRNGJ7LqW/Z0XdWWQ7V/vK3l2NcVFFgMU6f6PEBj7IqZH86qgvU5c6A41IQJ7AMVGjAnqB 6RanXJjC0tcARJkt5kZ+UMNwuRSTkL63hlJcE0nATRiNsmacmYn5WH2djPrCGcTrC2qiEyuS dMkNfRMMqdeCjp12Q3KVfJKE/56cZJQPrghKMtGf0DLOzLm0S8MTM5gjPSxRUGKcNPnlsdWk 4GgTdcxcLPxve0fa28Zx/bz6FWOhUEmLlCWnRxqKLhxXCdwmcmorhQPDEJbkylyY1DK7SxGM 4//eecfcs8ulYjS99CGhyZk315t3vzd1iVIvyk+WSqk796r0TiGO3Gk4A3VGfSoxsqGVpIsK Q0Yl8k/4eKZzDuXI6y0AzuQ3wtca5qnRgUSKoNTgA0kNUHjEAkJS6aQMaYhLhUUDA5hkUkjP i7JZ0Xz67O/fP395cX1xefXy+cUr8dljJRItstt39VytmIJCxCGe9iFbfJq0FV/vsG6Lp6BQ S0mVLP3mEeHyZl5I6ffHdQ4ycV57Uhn/ck2MkYQ53VEepOwAzEgDsMmg6kuGzFHjSsgQLpB1 GiauehMj1/TbBZrY/3zTuN22BGng3hSOgiS+Jd1HsoViYeGGUoPQUKfVNVcerFgK1BQC1FB1 ty0VQY7ZIuWT8IAy0Yjd1rzMhKeF66TDVkqb5DUSM+HSKJ4UzIqFMgucYXltACU+AbzbbIMy EupdnsWjiwBmZK4GzemTi0NtrF4uFmD5oyuR9SEwDalf055Y2jaggcQcqBcmeX41TW+rFpkF P725fHkt1VqJfgDrKerM8m6ycKGi25HeE6O04Llomjy0/23giia4+g9B0p9sq8djcEOkEzS4 cC6vQjh1QwRU0ZJaoiKWhh2jPRKNpJtb2+TCQcCA469fv76+fHH1w8WV/GpVpu+WKZpR5GlK xpLWErcmwGi8oYWLppL2SgwZnz3+3HEFaQ+2Ea10woWOfQvs4dCkm8sD87Bvqi4OD910l7tD NwzDk37XXqmkCU5ruNvZ2edUXO/zwRkFXqgKIm2FHYplXoZlAUbdOq9W02u4R7H+Heqi3K/g hOOm58AF7FLX25MpRR80HTrHGrTVpvOahIfsNYgcbntdIr+/m93+ewnCym5/jEUq5H/5SF9c v/jyr1hCbZ3Pzv5wUphidcf5Tfaj6P0mDPobbKX0bnoaDaTQxeEOhNf7b9+++At2tIZ8vyxm ZsQde2xGiVb9CVs17rTVZm+3YQMIt5rAH8NqAn96/Ov7C6d7+QvdgGysIMjh2O4vWVneFtFf qERZ9KdKEvxZ/JflKvp9PQctLT4FN1rcg6cDMZ/4mjNVsYz8sCbDrlKoPYhNCvfTV68uXl71 wFZjRaFPfsrKAkKnBqCj9JNECuuSi+E3p/Qd8crz4f5/cFbAoO0/+540/1HPJ/ccU2djebw3 cf4NRVq0FXMgPpyaiCYqPvf88vnVRyoWxCQcyyNdZ5DwNrKGYUGLoC8loTO1YTjadCDsqFN9 0ZR9t3i/XuEX+J+v87sMtOeXTweo5NWZJ1uSyGlcumzYf+RP6ODYHqAXeHYGoYuIQ2O06Ohp KnHxc0UZ/2SUHLu7fsKy5xtlkjFDgQYDUvsq6AMiLZRuoixbaPIGgb890b0h9MqAQlUDg0N4 EmNxyl9y4Esvejp6JyxYGKQDlW8SvSJ7Br6/S7b7SMu/caeqYMNMwdUMVfFwQk2N1Oe+oJlH 2xEsMyqvDpvpPEcPwdxFk0OeqttKqVoqRBLXQB8io4rxFoU+4Dh6eXsaopmQi25EtV2I5eHi QMz1vnvqFeaJECoqhyUaVFDV2eTgWIcKbxzTtNjKz1B9uSQjjJT5daW4qRTBSMuYFeJDLD8F hkdK1RA5fhQgtCX0Q8gspZD3TrlaxlyhWnhNRjuvFnXuep0IFpRo3H2vul8CvgDm+sEI7jQi urQ4jwYuqPscXXUEzPEx3tlg1eHqrMW1d7EunDZItXbwtqTLYSWtLSQEj8IgMjYmDexAOYWw bq0hxmYHHeM0he8+XGJ18SlISHRiLAM2qVBglstm9DKhgdTkR7qtZy5zk/jUfe9gXWAOxTIQ zUHjnuuZ7RtkdjeU/HoStbXQQGhKmwo7ZvECBwWY/8aYDXQB28VYSMkSirSBZFdItJ5hFnjS e+hOgo0wssvbvsZu9DLTot7iVeD5+24Pcw2OxGd9uqXwd3TEy4iu+Mj3t9odeCsfjIN4tb7Z HUmNv5LCym2xGZBpXCJyZYp7sKEfIpxKE5FP0SJIhAGGc5rB5XIsSbA5tAnQES7Nws21dJFe MNZDY9w1B+3kUM7QwycN5lyklSS9njcbyXFToOUjdpv8thJlUSyVARFt5CjapXI/ZAPbk5t0 mwlTQ6+xY1V22jcTuz1AhEZ1rulHnmLC5n3nZBv3fdING/0xesYqszV+zLbYtJO24XLuQ+AG lsNB4Hb8N5G85N+M3nXr5oQZgYGnpwKJ+uQFUmSzAzA3fkjuqzpjIov7QxgLNYd9iLeUsToS 7f9T4/9wavy/RI9tQpzf5jX57ihVXRAdNbme0MAXfm3XYt+G2laGigDTl6APXq+mYmwCVU4t MhlLQNRwzFWzWYlFDhn4IEwdoB2hei4KiGYjWFSPzy9ymNCW/8cb3DpJcycDhtc+VbCS2dXB 7XmIoTNLdcC4/Y01irwDgHYSHSDUrOtx9Kg95Ay1n8ynPpvuQFgo9jHerNQu+g6vjKBmlYMH tKryySLrq8QWvJV2eMqh6DkBD3YcsdBhDX2iY5RBcZPLds+++36AP/NU6nnmRs0gFq2K1Qrf jAJgqglRRs8sJA9OXVpDSEASAEdyz8g6RngKxakgpsMRpB7aVM2gi2WmdE1CWlzCRhpJTpsk KPHwXowNNra3H38ano04iPMJzIc+D4cGPTHRrYU6B7zCth+ijBZsZTi5JohOUA3Csje+G5xI lI3mtYtiUkAS30+ZFT0eZarta8aTZHmUjvZMD4ICAIZ1FesSAmwh5mkFUezL9Hargz8glMSw evnrBuKrILBNdQdJSIPASK9FRrECxQa8VCDOSoaX12KRgl9D4GsU3H+TbhmiSJGUzTnoq8AH plItcvGAuAeYXQpCckxK5tPdS5gijNoXQVVHx274hOVOxQD2xFHKkU0+KIQfkcwQCpWNE1Nm sWMzwX3EDTLsT6Ro+96WWn4lmtyd/t6T9LaprvejtaSsHqCN/au8hIQCeXlhNHpjxdymRxDw qd1UKlYbEJsCrLS6GeEWId4PhL0CJX0ESxDOtJVCZidlI2ngsF4eAmKiRDXPb2piiyoIXntC nHjAXlESBFga5ulBRqAKM73DVIsphPHOuHaowY7+CfX8Rq4Ucoc4529B5AQ1DMgzsm+CplQw Wl4TgEeK65AuLRkIfDhHcnEr9VzMMYDvjo/VFiii8iBKVDAAcgEK35YDbXH2eWXOq/3AkDoa CajDufgHc2ClxmOcfQpvPt5AthOHcNo1PK1qLFbJppEj5TcU9zRyfiyG9KAhUtR2RTnWG2W+ 0b04SQi7KAF1X8Nq9C6b7T0K9/fI3WDWbFnhv7LI1KFDZIAzTSAScK1yOGxe0WDP8UfX+keb aQd+11vj6S9Sb/D3uqsdxc0Bc8069kkYi0JH44wF9NxMHDH3HiDGwpkM8ZvWAlCqlJWluzbU 7uyqwXrp230bax29zSDuzpIarsJLtBUjOCArAdM8Z9m0zPidW01QMRJ/jZn24HqmCjsD0xnY IvbGBwnLJfZNoSoF1ZQokWTnlLWKWbuJDhwJNTNV88vMeaeiZ3l1MLS24AyART7Na0W26AFa jIvGNz9FMcG6xTSNj8QkKbFAYrtqzskCcv2LGUqXGIK72Ip3ZUoB/pjxocPdwdrRovrDGPg7 7aiSFcC2aHISaSqXxYbKqUO7hanwAwGvXOzgZr2g2bPU9KAbBhDGhJaEjjtv2xR22BOs69BU e9a7D00ovtdFid2HaHUT/0LAPQjEQFGQnHSjBahPhbi/NuoaczFH6H86zOXsFMp5BAa2QGQe IjKTnXqYV8NOiNx8dP9iTEarWEtRn/sZx5oR2JjKOu5Hg8VsD1LaZjPbAaab1cxx34E5WIf8 Vat0ynZj2j+JSq8yfJzcZMVAGyfRAB9ZTinPHZ8Hx4zO5areHurcEKH1oGgQR2LitIKwDOs3 JcOPSYI/5yQIJbqTqt8oa1iAkh2GqsSJGwt3rcwWUNWkbeNIc9GuI0qSq7gwBoWTbVQCIdE1 DLAlMRNyZZfZkmDQjkP1sgoK9NRgJGFlCLIZCQhWicByKViSDxvm6YIgGMiUiYmvdQzAfMMv ctsN5umMy6e8W9+yAva0qtZLTvtA6Or4UeiYQPEG43jAODkIlB1Q5/wkOwEP2S18Z7rCRPCB HlPWxmhrDspQhcgY3vCR47vJvXiLyHHzT0FwYGQciX8tY8CvEfiQHeTDDtTPOPL2diBmv83Q g4baiF/alrc5yjO2GrsZQmq+StbyOPQzGDScesvQYePYBIJW/jRs30nrU5Waur1+/dqxAsgr Cmo04eU2qx+od1Ip2Y/efYyleKOicyx6DrCHbg87QayvOsQC+vyOQbineaNj5/PBlLOungGG fFN4xdI8S7tIq1o7gT8YXu6sTm7AjyMUTzApBzi83KIkqe/wW4Kt8v9K8CTxG8j2j/QqjPWz QlmumIDXnd1y1rSwFRpc4LGiYTVnV7sSd+TUTpzKFMnYrWsxchqZUhSJ76+oVNoltObSE0ky ds1E/HMkrDKAF8uGPIC4xGt5WrCHxc0s3faO6ru+AmsXnZDw6ruT+u66yqb6dy4rAdOKFOFX zbzUyWBmfmqlN7rp5jUIakPIJkrSO9KR/nZTVQsi3tDDFzCGtFwxSywLcelYeMD64onCds+u GXQmwNNitYXn12DUnro2etJyGoNgCFhDZCpjv2EjH2OaevoWTYrAdi0++mej5rTPfMc2OnTH lqN22UId99o99jxpnDa6tTIQHrK0XFj6XOQQ5DABgIFo5E2sTsSOitwmnY5LmZyCnb0fvR7x 8Yv74u7PP4tQNBE7ETu2z3FU77LLckjcXbQd/bK70ILQjhvJetAdBFVMdzVZUQKyPznxu4Ly S7O8os8qOYGqVYgJZs+tV44hYbKtdZ2Jww0l4x1iXQjudcXFnL5QcFmnL7Mhjan9SsxdIy+6 2y/Fe7yYTld5irKyLEqbJcrdpsceCbnxI4iu8Em1YWM6gE9gcPhgiI0cQJyzF9FCk4vnl/94 +s2owaYai473A4RkRxA4EH3UsAMuj4OIUG3yejoX+kdlYJ9CLUgdHvmFRV5iJv8HYShlNOLS tEJREK04IMZNyEeERU9YxeEKI6q0gxWkZ+nd+iwuvvz+1Q9cWYPdPXIQqw//XzlIvRVyDa4v gq/RgbFr9ZFA0vYwrkgOQ7JTIsEoAFjgKainwBkKKUfdLIpNpaiFwsRfRP0Shbr4nLqkNtFC lvbr6ug9or76BuxibUoXaVUXyWUT2D36IzRAvlunZSpV1MzVdKXmi/qr2hNjmwnVyveULNtT Sx6Ir7/6jksTWBEGzfNEFqaR8PLFq++ejZqGJW1TDamJRscRQYVtHy3UXBtFhXaNUU3RImf+ JFtEJNQKD1QcXXS2HdRFNQcHidyopn63aYUqa/PkEk0sWKxAgNjMQkmJey9uM+BiywKqntJU 0fCDlGo45BIq8n5uqUoueZqJtMcsUhzDYVE2pFaUxRzDPMNhDNbEmoMkIBjX+vdFlhhgW5Az jI+PIdYhOAc72LLtmPv2wcSvlqcmCVsfivdQDEnzYmO0z9mYYB33IfKBQyC8qaE7M1Gt4TGM rAbh5BBZyKF11Lv5hSn1GFwKavrz2GNR2oSyDye8bGWEs+wmXS9qxeU0ICV8SLSEvSFBgTem a7aeL48ocRIHQRHynzZPanRMlQAA --------------C12AB0FF073698BFC07E20CD--

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/