Re: [PATCH] Align VM locks

Mark Hemment (markhe@veritas.com)
Thu, 16 Aug 2001 20:46:17 +0100 (BST)


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.

--168457657-161575255-997991177=:3340
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Thu, 16 Aug 2001, Andrea Arcangeli wrote:
> On Thu, Aug 16, 2001 at 07:44:04PM +0100, Mark Hemment wrote:
> > KM_BOUNCE_WRITE may waste virtual address-space, but it saves on
> > expensive shootdowns.
>
> I believe the slowdown is more a sign that kmap is not fast enoguh, not
> that you really need the BOUNCE_WRITE.

I did knock up a patch where the shooter didn't need to busy-wait. It
worked, but it assumed an IPI would be delivered as soon as a processor
re-enabled interrupts.
After posting the patch, I was also made unsure that it would cover all
conditions after seeing a comment in arch/i386/kernel/smp.c;
/*
* This was a BUG() but until someone can quote me the
* line from the intel manual that guarantees an IPI to
* multiple CPUs is retried _only_ on the erroring CPUs
* its staying as a return
*/

Can't remember now why I thought this might cause my patch problems
...but I sure it does.
Any, I've attached my posting to lse and the patch I sent. I think Andi
Kleen replied saying you had played with using the NMI for shootdowns?

I do believe that improving the shootdown code won't remove the need for
BOUNCE_WRITE. Only a local, temporary, mapping is need and the lighter
mapping is, the better.

Mark

--168457657-161575255-997991177=:3340
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="high.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.33.0108162046170.3340@alloc.wat.veritas.com>
Content-Description: high.patch
Content-Disposition: attachment; filename="high.patch"

ZGlmZiAtdXJOIC1YIGRvbnRkaWZmIGxpbnV4LTIuNC41L2FyY2gvaTM4Ni9r
ZXJuZWwvaTgyNTkuYyBoaWdoLTIuNC41L2FyY2gvaTM4Ni9rZXJuZWwvaTgy
NTkuYw0KLS0tIGxpbnV4LTIuNC41L2FyY2gvaTM4Ni9rZXJuZWwvaTgyNTku
YwlGcmkgRmViICA5IDE5OjI5OjQ0IDIwMDENCisrKyBoaWdoLTIuNC41L2Fy
Y2gvaTM4Ni9rZXJuZWwvaTgyNTkuYwlUdWUgSnVsICAzIDExOjIwOjM4IDIw
MDENCkBAIC04MCw2ICs4MCw3IEBADQogQlVJTERfU01QX0lOVEVSUlVQVChy
ZXNjaGVkdWxlX2ludGVycnVwdCxSRVNDSEVEVUxFX1ZFQ1RPUikNCiBCVUlM
RF9TTVBfSU5URVJSVVBUKGludmFsaWRhdGVfaW50ZXJydXB0LElOVkFMSURB
VEVfVExCX1ZFQ1RPUikNCiBCVUlMRF9TTVBfSU5URVJSVVBUKGNhbGxfZnVu
Y3Rpb25faW50ZXJydXB0LENBTExfRlVOQ1RJT05fVkVDVE9SKQ0KK0JVSUxE
X1NNUF9JTlRFUlJVUFQoZmx1c2hfYWxsX2ludGVycnVwdCxGTFVTSF9UTEJf
VkVDVE9SKQ0KICNlbmRpZg0KIA0KIC8qDQpAQCAtNDczLDYgKzQ3NCw5IEBA
DQogDQogCS8qIElQSSBmb3IgZ2VuZXJpYyBmdW5jdGlvbiBjYWxsICovDQog
CXNldF9pbnRyX2dhdGUoQ0FMTF9GVU5DVElPTl9WRUNUT1IsIGNhbGxfZnVu
Y3Rpb25faW50ZXJydXB0KTsNCisNCisJLyogSVBJIGZvciBmbHVzaCBhbGwg
VExCIGZ1bmN0aW9uIGNhbGwgKi8NCisJc2V0X2ludHJfZ2F0ZShGTFVTSF9U
TEJfVkVDVE9SLCBmbHVzaF9hbGxfaW50ZXJydXB0KTsNCiAjZW5kaWYJDQog
DQogI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQw0KZGlmZiAtdXJOIC1Y
IGRvbnRkaWZmIGxpbnV4LTIuNC41L2FyY2gvaTM4Ni9rZXJuZWwvc21wLmMg
aGlnaC0yLjQuNS9hcmNoL2kzODYva2VybmVsL3NtcC5jDQotLS0gbGludXgt
Mi40LjUvYXJjaC9pMzg2L2tlcm5lbC9zbXAuYwlUdWUgRmViIDEzIDIyOjEz
OjQzIDIwMDENCisrKyBoaWdoLTIuNC41L2FyY2gvaTM4Ni9rZXJuZWwvc21w
LmMJVHVlIEp1bCAgMyAxMjowNDowOCAyMDAxDQpAQCAtMzk0LDE0ICszOTQs
NDUgQEANCiAJCWxlYXZlX21tKGNwdSk7DQogfQ0KIA0KLXN0YXRpYyB2b2lk
IGZsdXNoX3RsYl9hbGxfaXBpKHZvaWQqIGluZm8pDQorLyoNCisgKiBGbHVz
aCB0aGUgVExCcyBvbiBhbGwgZW5naW5lcy4NCisgKiANCisgKiBUaGlzIGRv
ZXMgbm90IHdhaXQgZm9yIHRoZSBvdGhlciBlbmdpbmVzIHRvIGFjayB0aGUg
VExCIGZsdXNoLg0KKyAqIFRoaXMgaXMgT0sgKEkgdGhpbmspLCBidXQgbmVl
ZHMgc29tZSBleHBsYWluYXRpb24uDQorICoNCisgKiBGb3IgYWxsIGNhc2Vz
IG9mIGZsdXNoX3RsYl9hbGwoKSwgd2UgZG8gbm90IG5lZWQgdG8gc3luYyB3
aXRoIHRoZQ0KKyAqIGZsdXNoIG9uIGFsbCBlbmdpbmVzLiAgSSBzaG91bGQg
ZXhwbGFpbiBlYWNoIGNhc2UsIGJ1dCBmb3Igbm93IHRoZXJlDQorICogaXMg
anVzdCBhIHNpbXBsZSBkZXNjcmlwdGlvbiBvZiB0aGUgaGlnaG1lbSBjYXNl
LiBYWFgNCisgKg0KKyAqIEZvciBoaWdobWVtLCB0aGUgVExCcyBhcmUgZmx1
c2hlZCB1bmRlciB0aGUga21hcCBsb2NrLiAgVGhpcyBsb2NrIGlzIHRha2Vu
DQorICogd2l0aG91dCBibG9ja2luZyBpbnRlcnJ1cHRzLCBhbmQgX2Nhbm5v
dF8gYmUgdGFrZW4gd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkDQorICogKGVs
c2UgdGhlIHN5c3RlbSB3aWxsIGRlYWRsb2NrIC0gYXQgbGVhc3Qgd2l0aCB0
aGUgc3luYydpbmcgdmVyc2lvbiBvZg0KKyAqIGZsdXNoX3RsYl9hbGwoKSku
ICBOZXcgaGlnaG1lbSB2aXJ0dWFsIG1hcHBpbmdzIGFyZSBvbmx5IGNyZWF0
ZWQgdW5kZXIgdGhlDQorICoga21hcF9sb2NrLCBhbmQgbWFwcGluZ3MgYXJl
ICJyZWxlYXNlZCIgdW5kZXIgdGhpcyBsb2NrLg0KKyAqIEFzIG5ldyBtYXBw
aW5ncyBjYW5ub3QgYmUgY3JlYXRlZCB3aXRoIGludHMgZGlzYWJsZWQsIG9y
IGluc2lkZSBhbg0KKyAqIGludGVycnVwdCBjb250ZXh0LCBpZiBhbiBlbmdp
bmUgaXMgaW4gZWl0aGVyIG9mIHRoZXNlIHN0YXRlcyBpdCBkb2Vzbid0DQor
ICogaGF2ZSB0byBmbHVzaCBpdHMgVExCIHVudGlsIGl0IGxlYXZlcyB0aGUg
c3RhdGUgKGllLiBpbnRlcnJ1cHRzIGJlY29tZQ0KKyAqIGVuYWJsZWQpLg0K
KyAqLw0KK3N0YXRpYyB2b2lkIGZsdXNoX3RsYl9hbGxfaXBpKHZvaWQpDQog
ew0KIAlkb19mbHVzaF90bGJfYWxsX2xvY2FsKCk7DQogfQ0KIA0KK3N0YXRp
YyB2b2lkIGlubGluZSBzbXBfY2FsbF9mbHVzaF9hbGwodm9pZCkNCit7DQor
CWludCBjcHVzID0gc21wX251bV9jcHVzLTE7DQorDQorCWlmICghY3B1cykN
CisJCXJldHVybjsNCisNCisJLyogU2VuZCBhIG1lc3NhZ2UgdG8gYWxsIG90
aGVyIENQVXMgKi8NCisJc2VuZF9JUElfYWxsYnV0c2VsZihGTFVTSF9UTEJf
VkVDVE9SKTsNCit9DQorDQogdm9pZCBmbHVzaF90bGJfYWxsKHZvaWQpDQog
ew0KLQlzbXBfY2FsbF9mdW5jdGlvbiAoZmx1c2hfdGxiX2FsbF9pcGksMCwx
LDEpOw0KKwlzbXBfY2FsbF9mbHVzaF9hbGwoKTsNCiANCiAJZG9fZmx1c2hf
dGxiX2FsbF9sb2NhbCgpOw0KIH0NCkBAIC00ODMsNiArNTE0LDcgQEANCiAJ
cmV0dXJuIDA7DQogfQ0KIA0KKw0KIHN0YXRpYyB2b2lkIHN0b3BfdGhpc19j
cHUgKHZvaWQgKiBkdW1teSkNCiB7DQogCS8qDQpAQCAtNTM4LDUgKzU3MCwx
MiBAQA0KIAkoKmZ1bmMpKGluZm8pOw0KIAlpZiAod2FpdCkNCiAJCWF0b21p
Y19pbmMoJmNhbGxfZGF0YS0+ZmluaXNoZWQpOw0KK30NCisNCithc21saW5r
YWdlIHZvaWQgc21wX2ZsdXNoX2FsbF9pbnRlcnJ1cHQodm9pZCkNCit7DQor
CWFja19BUElDX2lycSgpOw0KKw0KKwlmbHVzaF90bGJfYWxsX2lwaSgpOw0K
IH0NCiANCmRpZmYgLXVyTiAtWCBkb250ZGlmZiBsaW51eC0yLjQuNS9pbmNs
dWRlL2FzbS1pMzg2L2hpZ2htZW0uaCBoaWdoLTIuNC41L2luY2x1ZGUvYXNt
LWkzODYvaGlnaG1lbS5oDQotLS0gbGludXgtMi40LjUvaW5jbHVkZS9hc20t
aTM4Ni9oaWdobWVtLmgJU2F0IE1heSAyNiAwMjowMToyNyAyMDAxDQorKysg
aGlnaC0yLjQuNS9pbmNsdWRlL2FzbS1pMzg2L2hpZ2htZW0uaAlUdWUgSnVs
ICAzIDEyOjA3OjQ0IDIwMDENCkBAIC01Myw2ICs1MywxMSBAQA0KICNkZWZp
bmUgUEtNQVBfTlIodmlydCkgICgodmlydC1QS01BUF9CQVNFKSA+PiBQQUdF
X1NISUZUKQ0KICNkZWZpbmUgUEtNQVBfQUREUihucikgIChQS01BUF9CQVNF
ICsgKChucikgPDwgUEFHRV9TSElGVCkpDQogDQorLyoNCisgKiBTaG91bGQg
b25seSBiZSB1c2VkIGluIGhpZ2htZW0uYy4NCisgKi8NCisjZGVmaW5lCVBL
TUFQX1ZJUlRfVE9fUEtQKHZpcnQpCSZwa21hcFsoKCh2aXJ0KS1QS01BUF9C
QVNFKSA+PiBQQUdFX1NISUZUKV0NCisNCiBleHRlcm4gdm9pZCAqIEZBU1RD
QUxMKGttYXBfaGlnaChzdHJ1Y3QgcGFnZSAqcGFnZSkpOw0KIGV4dGVybiB2
b2lkIEZBU1RDQUxMKGt1bm1hcF9oaWdoKHN0cnVjdCBwYWdlICpwYWdlKSk7
DQogDQpkaWZmIC11ck4gLVggZG9udGRpZmYgbGludXgtMi40LjUvaW5jbHVk
ZS9hc20taTM4Ni9od19pcnEuaCBoaWdoLTIuNC41L2luY2x1ZGUvYXNtLWkz
ODYvaHdfaXJxLmgNCi0tLSBsaW51eC0yLjQuNS9pbmNsdWRlL2FzbS1pMzg2
L2h3X2lycS5oCVNhdCBNYXkgMjYgMDI6MDE6MjYgMjAwMQ0KKysrIGhpZ2gt
Mi40LjUvaW5jbHVkZS9hc20taTM4Ni9od19pcnEuaAlUdWUgSnVsICAzIDEy
OjA3OjQ0IDIwMDENCkBAIC00MSw2ICs0MSw4IEBADQogI2RlZmluZSBJTlZB
TElEQVRFX1RMQl9WRUNUT1IJMHhmZA0KICNkZWZpbmUgUkVTQ0hFRFVMRV9W
RUNUT1IJMHhmYw0KICNkZWZpbmUgQ0FMTF9GVU5DVElPTl9WRUNUT1IJMHhm
Yg0KKy8qIGtkYiB1c2VzIDB4ZmEsIHNvIHVzZSAweGY5IGZvciB0aGUgZ2xv
YmFsIFRMQiBzaG9vdGRvd24gKi8NCisjZGVmaW5lCUZMVVNIX1RMQl9WRUNU
T1IJMHhmOQ0KIA0KIC8qDQogICogTG9jYWwgQVBJQyB0aW1lciBJUlEgdmVj
dG9yIGlzIG9uIGEgZGlmZmVyZW50IHByaW9yaXR5IGxldmVsLA0KZGlmZiAt
dXJOIC1YIGRvbnRkaWZmIGxpbnV4LTIuNC41L2luaXQvbWFpbi5jIGhpZ2gt
Mi40LjUvaW5pdC9tYWluLmMNCi0tLSBsaW51eC0yLjQuNS9pbml0L21haW4u
YwlUdWUgTWF5IDIyIDE3OjM1OjQyIDIwMDENCisrKyBoaWdoLTIuNC41L2lu
aXQvbWFpbi5jCVR1ZSBKdWwgIDMgMTE6MjA6MzggMjAwMQ0KQEAgLTU1NSw2
ICs1NTUsMTQgQEANCiAJCWluaXRyZF9zdGFydCA9IDA7DQogCX0NCiAjZW5k
aWYNCisNCisjaWZkZWYJQ09ORklHX0hJR0hNRU0NCisJew0KKwkJZXh0ZXJu
IHZvaWQgaW5pdF9oaWdobWVtKHZvaWQpOw0KKwkJaW5pdF9oaWdobWVtKCk7
DQorCX0NCisjZW5kaWYNCisNCiAJbWVtX2luaXQoKTsNCiAJa21lbV9jYWNo
ZV9zaXplc19pbml0KCk7DQogCW1lbXBhZ2VzID0gbnVtX3BoeXNwYWdlczsN
CmRpZmYgLXVyTiAtWCBkb250ZGlmZiBsaW51eC0yLjQuNS9tbS9oaWdobWVt
LmMgaGlnaC0yLjQuNS9tbS9oaWdobWVtLmMNCi0tLSBsaW51eC0yLjQuNS9t
bS9oaWdobWVtLmMJU2F0IE1heSAyNiAwMTo1Nzo0NiAyMDAxDQorKysgaGln
aC0yLjQuNS9tbS9oaWdobWVtLmMJVHVlIEp1bCAgMyAxMjo1MTo1MiAyMDAx
DQpAQCAtMjAsNyArMjAsOSBAQA0KICNpbmNsdWRlIDxsaW51eC9wYWdlbWFw
Lmg+DQogI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0uaD4NCiAjaW5jbHVkZSA8
bGludXgvc3dhcC5oPg0KKyNpbmNsdWRlIDxsaW51eC9jYWNoZS5oPg0KICNp
bmNsdWRlIDxsaW51eC9zbGFiLmg+DQorI2luY2x1ZGUgPGxpbnV4L2ludGVy
cnVwdC5oPg0KIA0KIC8qDQogICogVmlydHVhbF9jb3VudCBpcyBub3QgYSBw
dXJlICJjb3VudCIuDQpAQCAtMzAsOTIgKzMyLDE1MyBAQA0KICAqICAgIHNp
bmNlIHRoZSBsYXN0IFRMQiBmbHVzaCAtIHNvIHdlIGNhbid0IHVzZSBpdC4N
CiAgKiAgbiBtZWFucyB0aGF0IHRoZXJlIGFyZSAobi0xKSBjdXJyZW50IHVz
ZXJzIG9mIGl0Lg0KICAqLw0KLXN0YXRpYyBpbnQgcGttYXBfY291bnRbTEFT
VF9QS01BUF07DQotc3RhdGljIHVuc2lnbmVkIGludCBsYXN0X3BrbWFwX25y
Ow0KLXN0YXRpYyBzcGlubG9ja190IGttYXBfbG9jayA9IFNQSU5fTE9DS19V
TkxPQ0tFRDsNCiANCi1wdGVfdCAqIHBrbWFwX3BhZ2VfdGFibGU7DQorLyoN
CisgKiBVc2UgYSBzdHJ1Y3R1cmUgc28gd2UgY2FuIGtlZXAgdGhlICJjb3Vu
dCIgbmV4dCB0byB0aGUgbGlua2FnZSAoaWUuIG9uIHRoZQ0KKyAqIHNhbWUg
TDEgY2FjaGUgbGluZSkuDQorICogVGhpcyBtYXkgc2VlbSBsaWtlIG92ZXJr
aWxsLCBidXQgd2UgcmVhbGx5IHdhbnQgdG8gYXZvaWQgbGluZWFyIHNlYXJj
aGVzLg0KKyAqIENvdWxkIGNhY3VsYXRlIHRoZSBpbmRleCAob2Zmc2V0IGZy
b20gcGttYXApLCBidXQgaW5jbHVkaW5nIGl0IGRvZXNuJ3QNCisgKiBodXJ0
IGFuZCBnaXZlcyB1cyBhIG5pY2UgcG93ZXItb2YtMiBzaXplZCBzdHJ1Y3R1
cmUgKGNvdWxkIHB0ciBkaXJlY3RseQ0KKyAqIGludG8gcGFnZXRhYmxlPyBY
WFgpLg0KKyAqLw0KK3R5cGVkZWYgc3RydWN0IHBrbWFwX3Mgew0KKwl1bnNp
Z25lZCBpbnQJCSBwa19jb3VudDsNCisJc3RydWN0IHBrbWFwX3MJCSpwa19u
ZXh0Ow0KK30gcGttYXBfdDsNCisNCitzdGF0aWMgcGttYXBfdAlwa21hcFtM
QVNUX1BLTUFQXTsNCisNCisNCisvKg0KKyAqIFdlIGRvbid0IHdhbnQgdGhp
cyBsb2NrIGZhbHNlIHNoYXJpbmcgd2l0aCBhbnl0aGluZyBlbHNlLCBzbyBM
MQ0KKyAqIGNhY2hlIGFsaWduIGl0Lg0KKyAqLw0KK3N0YXRpYyBzcGlubG9j
a190IGttYXBfbG9jayBfX2NhY2hlbGluZV9hbGlnbmVkOw0KKw0KKy8qDQor
ICogSG9wZWZ1bGx5LCB0aGVzZSB0d28gd2lsbCBmYWxsIG9uIHRoZSBzYW1l
IEwxIGxpbmUuDQorICovDQorcHRlX3QgKnBrbWFwX3BhZ2VfdGFibGU7DQor
c3RhdGljIHBrbWFwX3QgKnBrbWFwX2ZyZWU7DQogDQogc3RhdGljIERFQ0xB
UkVfV0FJVF9RVUVVRV9IRUFEKHBrbWFwX21hcF93YWl0KTsNCiANCit2b2lk
DQoraW5pdF9oaWdobWVtKHZvaWQpDQorew0KKwlpbnQJaTsNCisNCisJc3Bp
bl9sb2NrX2luaXQoJmttYXBfbG9jayk7DQorDQorCXBrbWFwX2ZyZWUgPSAm
cGttYXBbMF07DQorDQorCWZvciAoaT0xOyBpIDwgTEFTVF9QS01BUDsgaSsr
KQ0KKwkJcGttYXBbaS0xXS5wa19uZXh0ID0gJnBrbWFwW2ldOw0KKwlwa21h
cFtpLTFdLnBrX25leHQgPSBOVUxMOw0KK30NCisNCiBzdGF0aWMgdm9pZCBm
bHVzaF9hbGxfemVyb19wa21hcHModm9pZCkNCiB7DQotCWludCBpOw0KKwlw
a21hcF90CQkqcGtwOw0KKwlpbnQJaTsNCiANCiAJZmx1c2hfY2FjaGVfYWxs
KCk7DQogDQotCWZvciAoaSA9IDA7IGkgPCBMQVNUX1BLTUFQOyBpKyspIHsN
Ci0JCXN0cnVjdCBwYWdlICpwYWdlOw0KLQkJcHRlX3QgcHRlOw0KLQkJLyoN
Ci0JCSAqIHplcm8gbWVhbnMgd2UgZG9uJ3QgaGF2ZSBhbnl0aGluZyB0byBk
bywNCi0JCSAqID4xIG1lYW5zIHRoYXQgaXQgaXMgc3RpbGwgaW4gdXNlLiBP
bmx5DQotCQkgKiBhIGNvdW50IG9mIDEgbWVhbnMgdGhhdCBpdCBpcyBmcmVl
IGJ1dA0KLQkJICogbmVlZHMgdG8gYmUgdW5tYXBwZWQNCi0JCSAqLw0KLQkJ
aWYgKHBrbWFwX2NvdW50W2ldICE9IDEpDQorCXBrcCA9ICZwa21hcFswXTsN
CisJZm9yIChpPTA7IGkgPCBMQVNUX1BLTUFQOyBpKyssIHBrcCsrKSB7DQor
CQlwdGVfdAkqcHRlOw0KKw0KKwkJLyogcmUtaW5zdGF0ZSBjb21tZW50ISAq
Lw0KKwkJaWYgKHBrcC0+cGtfY291bnQgIT0gMSkNCiAJCQljb250aW51ZTsN
Ci0JCXBrbWFwX2NvdW50W2ldID0gMDsNCi0JCXB0ZSA9IHB0ZXBfZ2V0X2Fu
ZF9jbGVhcihwa21hcF9wYWdlX3RhYmxlK2kpOw0KLQkJaWYgKHB0ZV9ub25l
KHB0ZSkpDQorCQlwa3AtPnBrX2NvdW50ID0gMDsNCisNCisJCXBrcC0+cGtf
bmV4dCA9IHBrbWFwX2ZyZWU7DQorCQlwa21hcF9mcmVlID0gcGtwOw0KKw0K
KwkJcHRlID0gJnBrbWFwX3BhZ2VfdGFibGVbaV07DQorDQorCQkvKiBzYW5p
dHkgY2hlY2sgKi8NCisJCWlmIChwdGVfbm9uZSgqcHRlKSkNCiAJCQlCVUco
KTsNCi0JCXBhZ2UgPSBwdGVfcGFnZShwdGUpOw0KLQkJcGFnZS0+dmlydHVh
bCA9IE5VTEw7DQorDQorCQkvKg0KKwkJICogRG9uJ3QgbmVlZCBhbiBhdG9t
aWMgZmV0Y2gtYW5kLWNsZWFyIG9wIGhlcmU7DQorCQkgKiBuby1vbmUgaGFz
IHRoZSBwYWdlIG1hcHBlZCwgYW5kIGNhbm5vdCBnZXQgYXQNCisJCSAqIGl0
cyB2aXJ0dWFsIGFkZHJlc3MgKGFuZCBoZW5jZSBQVEUpIHdpdGhvdXQgZmly
c3QNCisJCSAqIGdldHRpbmcgdGhlIGttYXBfbG9jayAod2hpY2ggaXMgaGVs
ZCBoZXJlKS4NCisJCSAqIFNvIG5vIGRhbmdlcnMsIGV2ZW4gd2l0aCBzcGVj
dWxhdGl2ZSBleGVjdXRpb24uDQorCQkgKi8NCisJCXB0ZV9wYWdlKCpwdGUp
LT52aXJ0dWFsID0gTlVMTDsNCisJCXB0ZV9jbGVhcihwdGUpOw0KIAl9DQor
DQogCWZsdXNoX3RsYl9hbGwoKTsNCiB9DQogDQotc3RhdGljIGlubGluZSB1
bnNpZ25lZCBsb25nIG1hcF9uZXdfdmlydHVhbChzdHJ1Y3QgcGFnZSAqcGFn
ZSkNCitzdGF0aWMgdm9pZCBmaWxsX3BrbWFwX2ZyZWUodm9pZCkNCiB7DQot
CXVuc2lnbmVkIGxvbmcgdmFkZHI7DQotCWludCBjb3VudDsNCisJLyoNCisJ
ICogVHJ5IHRvIGZyZWUgZW50cmllcy4NCisJICovDQorCWZsdXNoX2FsbF96
ZXJvX3BrbWFwcygpOw0KIA0KLXN0YXJ0Og0KLQljb3VudCA9IExBU1RfUEtN
QVA7DQotCS8qIEZpbmQgYW4gZW1wdHkgZW50cnkgKi8NCi0JZm9yICg7Oykg
ew0KLQkJbGFzdF9wa21hcF9uciA9IChsYXN0X3BrbWFwX25yICsgMSkgJiBM
QVNUX1BLTUFQX01BU0s7DQotCQlpZiAoIWxhc3RfcGttYXBfbnIpIHsNCi0J
CQlmbHVzaF9hbGxfemVyb19wa21hcHMoKTsNCi0JCQljb3VudCA9IExBU1Rf
UEtNQVA7DQotCQl9DQotCQlpZiAoIXBrbWFwX2NvdW50W2xhc3RfcGttYXBf
bnJdKQ0KLQkJCWJyZWFrOwkvKiBGb3VuZCBhIHVzYWJsZSBlbnRyeSAqLw0K
LQkJaWYgKC0tY291bnQpDQotCQkJY29udGludWU7DQorCS8qDQorCSAqIEFu
eSBmcmVlIGFmdGVyIGZsdXNoaW5nPw0KKwkgKi8NCisJaWYgKHBrbWFwX2Zy
ZWUgPT0gTlVMTCkgew0KKwkJREVDTEFSRV9XQUlUUVVFVUUod2FpdCwgY3Vy
cmVudCk7DQorDQorCQkvKg0KKwkJICogU2xlZXAgZm9yIHNvbWVib2R5IGVs
c2UgdG8gdW5tYXAgdGhlaXIgZW50cmllcy4NCisJCSAqLw0KKwkJY3VycmVu
dC0+c3RhdGUgPSBUQVNLX1VOSU5URVJSVVBUSUJMRTsNCisJCWFkZF93YWl0
X3F1ZXVlKCZwa21hcF9tYXBfd2FpdCwgJndhaXQpOw0KKwkJc3Bpbl91bmxv
Y2soJmttYXBfbG9jayk7DQorCQlzY2hlZHVsZSgpOw0KKwkJcmVtb3ZlX3dh
aXRfcXVldWUoJnBrbWFwX21hcF93YWl0LCAmd2FpdCk7DQorCQlzcGluX2xv
Y2soJmttYXBfbG9jayk7DQorCX0NCit9DQorDQorc3RhdGljIGlubGluZSB2
b2lkICptYXBfbmV3X3ZpcnR1YWwoc3RydWN0IHBhZ2UgKnBhZ2UpDQorew0K
Kwlwa21hcF90CQkqcGtwOw0KKwlpbnQJCSBpbmRleDsNCisNCisJd2hpbGUg
KHBrbWFwX2ZyZWUgPT0gTlVMTCkgew0KIA0KIAkJLyoNCi0JCSAqIFNsZWVw
IGZvciBzb21lYm9keSBlbHNlIHRvIHVubWFwIHRoZWlyIGVudHJpZXMNCisJ
CSAqIEtlZXAgY29kZSB0byBoYW5kbGUgb3V0LW9mLWZyZWUtcGttYXBzIG91
dCBvZiBjb21tb24NCisJCSAqIGNvZGUgcGF0aC4NCiAJCSAqLw0KLQkJew0K
LQkJCURFQ0xBUkVfV0FJVFFVRVVFKHdhaXQsIGN1cnJlbnQpOw0KKwkJZmls
bF9wa21hcF9mcmVlKCk7DQogDQotCQkJY3VycmVudC0+c3RhdGUgPSBUQVNL
X1VOSU5URVJSVVBUSUJMRTsNCi0JCQlhZGRfd2FpdF9xdWV1ZSgmcGttYXBf
bWFwX3dhaXQsICZ3YWl0KTsNCi0JCQlzcGluX3VubG9jaygma21hcF9sb2Nr
KTsNCi0JCQlzY2hlZHVsZSgpOw0KLQkJCXJlbW92ZV93YWl0X3F1ZXVlKCZw
a21hcF9tYXBfd2FpdCwgJndhaXQpOw0KLQkJCXNwaW5fbG9jaygma21hcF9s
b2NrKTsNCi0NCi0JCQkvKiBTb21lYm9keSBlbHNlIG1pZ2h0IGhhdmUgbWFw
cGVkIGl0IHdoaWxlIHdlIHNsZXB0ICovDQotCQkJaWYgKHBhZ2UtPnZpcnR1
YWwpDQotCQkJCXJldHVybiAodW5zaWduZWQgbG9uZykgcGFnZS0+dmlydHVh
bDsNCi0NCi0JCQkvKiBSZS1zdGFydCAqLw0KLQkJCWdvdG8gc3RhcnQ7DQot
CQl9DQorCQkvKiBTb21lYm9keSBlbHNlIG1pZ2h0IGhhdmUgbWFwcGVkIGl0
IHdoaWxlIHdlIHNsZXB0ICovDQorCQlpZiAocGFnZS0+dmlydHVhbCkNCisJ
CQlyZXR1cm4gcGFnZS0+dmlydHVhbDsNCiAJfQ0KLQl2YWRkciA9IFBLTUFQ
X0FERFIobGFzdF9wa21hcF9ucik7DQotCXNldF9wdGUoJihwa21hcF9wYWdl
X3RhYmxlW2xhc3RfcGttYXBfbnJdKSwgbWtfcHRlKHBhZ2UsIGttYXBfcHJv
dCkpOw0KIA0KLQlwa21hcF9jb3VudFtsYXN0X3BrbWFwX25yXSA9IDE7DQot
CXBhZ2UtPnZpcnR1YWwgPSAodm9pZCAqKSB2YWRkcjsNCisJcGtwID0gcGtt
YXBfZnJlZTsNCisJcGttYXBfZnJlZSA9IHBrcC0+cGtfbmV4dDsNCisNCisJ
aWYgKHBrcC0+cGtfY291bnQgIT0gMCkNCisJCUJVRygpOw0KKwlwa3AtPnBr
X2NvdW50ID0gMTsNCisNCisJaW5kZXggPSBwa3AgLSBwa21hcDsNCisNCisJ
c2V0X3B0ZSgmKHBrbWFwX3BhZ2VfdGFibGVbaW5kZXhdKSwgbWtfcHRlKHBh
Z2UsIGttYXBfcHJvdCkpOw0KIA0KLQlyZXR1cm4gdmFkZHI7DQorCXBhZ2Ut
PnZpcnR1YWwgPSAodm9pZCAqKVBLTUFQX0FERFIoaW5kZXgpOw0KKw0KKwly
ZXR1cm4gcGFnZS0+dmlydHVhbDsNCiB9DQogDQorDQogdm9pZCAqa21hcF9o
aWdoKHN0cnVjdCBwYWdlICpwYWdlKQ0KIHsNCisJcGttYXBfdAkqcGtwOw0K
IAl1bnNpZ25lZCBsb25nIHZhZGRyOw0KIA0KIAkvKg0KQEAgLTEyNSwzOCAr
MTg4LDU4IEBADQogCSAqIFdlIGNhbm5vdCBjYWxsIHRoaXMgZnJvbSBpbnRl
cnJ1cHRzLCBhcyBpdCBtYXkgYmxvY2sNCiAJICovDQogCXNwaW5fbG9jaygm
a21hcF9sb2NrKTsNCi0JdmFkZHIgPSAodW5zaWduZWQgbG9uZykgcGFnZS0+
dmlydHVhbDsNCisJdmFkZHIgPSAodW5zaWduZWQgbG9uZylwYWdlLT52aXJ0
dWFsOw0KIAlpZiAoIXZhZGRyKQ0KLQkJdmFkZHIgPSBtYXBfbmV3X3ZpcnR1
YWwocGFnZSk7DQotCXBrbWFwX2NvdW50W1BLTUFQX05SKHZhZGRyKV0rKzsN
Ci0JaWYgKHBrbWFwX2NvdW50W1BLTUFQX05SKHZhZGRyKV0gPCAyKQ0KKwkJ
dmFkZHIgPSAodW5zaWduZWQgbG9uZyltYXBfbmV3X3ZpcnR1YWwocGFnZSk7
DQorDQorCXBrcCA9IFBLTUFQX1ZJUlRfVE9fUEtQKHZhZGRyKTsNCisNCisJ
cGtwLT5wa19jb3VudCsrOw0KKwlpZiAocGtwLT5wa19jb3VudCA8IDIpDQog
CQlCVUcoKTsNCiAJc3Bpbl91bmxvY2soJmttYXBfbG9jayk7DQotCXJldHVy
biAodm9pZCopIHZhZGRyOw0KKw0KKwlyZXR1cm4gKHZvaWQgKil2YWRkcjsN
CiB9DQogDQogdm9pZCBrdW5tYXBfaGlnaChzdHJ1Y3QgcGFnZSAqcGFnZSkN
CiB7DQorCXBrbWFwX3QJKnBrcDsNCisJdWludAkgbmVlZF93YWtldXA7DQog
CXVuc2lnbmVkIGxvbmcgdmFkZHI7DQotCXVuc2lnbmVkIGxvbmcgbnI7DQor
DQorCW5lZWRfd2FrZXVwID0gMDsNCiANCiAJc3Bpbl9sb2NrKCZrbWFwX2xv
Y2spOw0KIAl2YWRkciA9ICh1bnNpZ25lZCBsb25nKSBwYWdlLT52aXJ0dWFs
Ow0KIAlpZiAoIXZhZGRyKQ0KIAkJQlVHKCk7DQotCW5yID0gUEtNQVBfTlIo
dmFkZHIpOw0KKwlwa3AgPSBQS01BUF9WSVJUX1RPX1BLUCh2YWRkcik7DQog
DQogCS8qDQogCSAqIEEgY291bnQgbXVzdCBuZXZlciBnbyBkb3duIHRvIHpl
cm8NCiAJICogd2l0aG91dCBhIFRMQiBmbHVzaCENCiAJICovDQotCXN3aXRj
aCAoLS1wa21hcF9jb3VudFtucl0pIHsNCisJc3dpdGNoICgtLShwa3AtPnBr
X2NvdW50KSkgew0KIAljYXNlIDA6DQogCQlCVUcoKTsNCiAJY2FzZSAxOg0K
LQkJd2FrZV91cCgmcGttYXBfbWFwX3dhaXQpOw0KKwkJLyoNCisJCSAqIEF2
b2lkIGFuIHVubmVjZXNzYXJ5IHdha2VfdXAoKSBmdW5jdGlvbiBjYWxsLg0K
KwkJICogVGhlIGNvbW1vbiBjYXNlIGlzIHBrbWFwX2NvdW50W10gPT0gMSwg
YnV0DQorCQkgKiBubyB3YWl0ZXJzLg0KKwkJICogVGhlIHRhc2tzIHF1ZXVl
ZCBpbiB0aGUgd2FpdC1xdWV1ZSBhcmUgZ3VhcmRlZA0KKwkJICogYnkgYm90
aCB0aGUgbG9jayBpbiB0aGUgd2FpdC1xdWV1ZS1oZWFkIGFuZCBieQ0KKwkJ
ICogdGhlIGttYXBfbG9jay4gIEFzIHRoZSBrbWFwX2xvY2sgaXMgaGVsZCBo
ZXJlLA0KKwkJICogbm8gbmVlZCBmb3IgdGhlIHdhaXQtcXVldWUtaGVhZCdz
IGxvY2suICBTaW1wbHkNCisJCSAqIHRlc3QgaWYgdGhlIHF1ZXVlIGlzIGVt
cHR5Lg0KKwkJICovDQorCQluZWVkX3dha2V1cCA9IHdhaXRxdWV1ZV9hY3Rp
dmUoJnBrbWFwX21hcF93YWl0KTsNCiAJfQ0KIAlzcGluX3VubG9jaygma21h
cF9sb2NrKTsNCisNCisJaWYgKG5lZWRfd2FrZXVwKQ0KKwkJd2FrZV91cCgm
cGttYXBfbWFwX3dhaXQpOw0KIH0NCiANCiAjZGVmaW5lIFBPT0xfU0laRSAz
Mg0K
--168457657-161575255-997991177=:3340
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="lse.shootdown"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.33.0108162046171.3340@alloc.wat.veritas.com>
Content-Description: lse-email
Content-Disposition: attachment; filename="lse.shootdown"

RnJvbSBtYXJraGVAdmVyaXRhcy5jb20gVGh1IEF1ZyAxNiAyMDoxNDoyNiAy
MDAxDQpEYXRlOiBUdWUsIDMgSnVsIDIwMDEgMTI6MjA6NDcgKzAxMDAgKEJT
VCkNCkZyb206IG1hcmtoZUB2ZXJpdGFzLmNvbQ0KU3ViamVjdDogUmU6IFtM
c2UtdGVjaF0gRGJlbmNoIHNjYWxhYmlsaXR5IHJlc3VsdHMgb24gMi40LjAN
Cg0KSGkgQmlsbCwNCg0KICBJJ3ZlIGJlZW4gZG9pbmcgc29tZSBtb3JlIHdv
cmsgb24gdGhlIGttYXBfbG9jay4NCiAgVGhlIGZpcnN0IHBhcnQgaXNuJ3Qg
dmVyeSBpbnRlcmVzdGluZyAtIGl0IG1vZGlmaWVzIGhpZ2htZW0uYyB0byB1
c2UgYQ0KZnJlZWxpc3QgbGlua2FnZS4gIFVuZGVyICJub3JtYWwiIHVzYWdl
IHBhdHRlcm5zLCBJIHdvdWxkbid0IGV4cGVjdCB0aGlzDQp0byBnaXZlIG11
Y2ggb2YgYW4gaW1wcm92ZW1lbnQuDQoNCiAgVGhlIHNlY29uZCBwYXJ0IGlz
IG1vcmUgaW50ZXJlc3RpbmcuIDopDQoNCiAgQ3VycmVudGx5LCBJIGRvbid0
IGhhdmUgYWNjZXNzIHRvIGFuIDgtd2F5IGJveCAob25seSBhIDQpLCBidXQg
SSdtDQpndWVzc2luZyB0aGUga21hcCBsb2NrIGNvbnRlbnRpb24gaXMgY2F1
c2VkIGJ5IHRoZSBmbHVzaF90bGJfYWxsKCkgd2hpY2gNCmlzIGRvbmUgd2l0
aCB0aGUga21hcF9sb2NrIGhlbGQuDQoNCiAgTm93LCBmbHVzaF90bGJfYWxs
KCkgc2VuZHMgYW4gSVBJIHRvIGFsbCBlbmdpbmVzIChwcm9jZXNzb3JzKSBh
bmQNCl93YWl0c18gZm9yIHRoZW0gYWxsIHRvIHBlcmZvcm0gdGhlIHNob290
ZG93bi4NCiAgSWYgYW55IG9mIHRoZSBlbmdpbmVzIGhhdmUgaW50ZXJydXB0
cyBibG9ja2VkLCB0aGVuIGZsdXNoX3RsYl9hbGwoKSBidXN5LQ0Kd2FpdHMg
dW50aWwgdGhlIGludGVycnVwdCAoSVBJKSBpcyBkZWxpZXZlZCBhbmQgcHJv
Y2Vzc2VkLiAgVGhpcyBjYW4gYmUgYQ0Kc2lnbmlmaWNhbnQgbnVtYmVyIG9m
IENQVSBjeWNsZXMgLSBlc3BpY2FsbHkgYXMgbG9ja3Mgd2hpY2ggcmVxdWly
ZQ0KaW50ZXJydXB0cyB0byBiZSBibG9ja2VkIHNwaW4gd2l0aCBpbnRzIGRp
c2FibGVkIChpbWFnZSBzdWNoIGEgbG9jayB3aGljaA0KaGFzIGNvbnRlbnRp
b24gLSBpdCBjYW4gYmUgcXVpdGUgc29tZXRpbWUgdW50aWwgdGhlIGxhc3Qg
Y29udGVudG9yIGJyZWFrcw0Kb3V0IG9mIHRoZSBjcml0aWNhbCByZWdpb24g
YW5kIGVuYWJsZXMgaW50cykuDQoNCiAgQW5hbHlzaW5nIHRoZSB1c2FnZSBv
ZiBmbHVzaF90bGJfYWxsKCkgc2hvd3MgdGhhdCBpdCBkb2VzIG5vdCBuZWVk
IHRvDQpidXN5LXdhaXQgLSBpdCBjYW4gc2ltcGx5IHNlbmQgdGhlICJzaG9v
dGRvd24iIElQSSBhbmQgY29udGludWU7IGl0DQpkb2Vzbid0IGV2ZW4gbmVl
ZCB0byBidXN5LXdhaXQgZm9yIGFuIGFjayBmcm9tIHRoZSBvdGhlciBlbmdp
bmVzLg0KaWUuIGZsdXNoX3RsYl9hbGwoKSBjYW4gYmVjb21lIGFzeW5jaHJv
bm91cy4NCg0KICBGb3IgZXhhbXBsZSwgdGhpbmsgYWJvdXQgdGhlIGZsdXNo
X3RsYl9hbGwoKSBmb3IgaGlnaG1lbS4gIE5ldyBtYXBwaW5ncw0KY2Fubm90
IGJlIGNyZWF0ZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkIChlbHNlIHRo
ZSBvcmlnbmFsDQpmbHVzaF90bGJfYWxsKCkgY291bGQgZGVhZGxvY2sgdGhl
IHN5c3RlbSksIG5vciBmcm9tIHdpdGhpbiBhbiBpbnRlcnVwdA0KaGFuZGxl
ci4gIFNhbWUgZm9yICJkcm9wcGluZyIgYSBtYXBwaW5nLCBhbmQgZ2Fpbmlu
ZyBhIHJlZmVyZW5jZSB0byBhbg0KZXhpc3RpbmcgbWFwcGluZy4NCiAgSW5m
YWN0LCBhbiBlbmdpbmUncyBUTEIgZG9lc24ndCBuZWVkIHRvIGJlIGZsdXNo
ZWQgdW50aWwgaXRzIG5leHQgY2FsbA0KdG8ga21hcF9oaWdoKCkgb3IgdW50
aWwgYSBjb250ZXh0LXN3aXRjaCBvY2N1cnMgb24gdGhlIGVuZ2luZS4gIEFz
IHRoZQ0KaGlnaG1lbSBUTEJzIGFyZSBtYXJrZWQgImdsb2JhbCIsIHdlJ2Qg
bmVlZCB0byBhZGQgYW4gZXh0cmEgdGVzdCBpbg0Kc2NoZWR1bGUoKSB3aGlj
aCBJJ2QgcmF0aGVyIHN0YXkgYXdheSBmcm9tLg0KICBTbywgaW5zdGVhZCwg
d2UgY2FuIHdhaXQgZm9yIHRoZSBmbHVzaCBvbiBhbiBlbmdpbmUgdG8gb2Nj
dXIgd2hlbiBpdA0KZW5hYmxlcyBpbnRlcnVwdHMuICBUaGlzIHdvcmtzIGZv
ciB0aGUgaGlnaG1lbSBjYXNlLCBhbmQgb3RoZXIgdXNlcyBvZg0KZmx1c2hf
dGxiX2FsbCgpLiAgQXQgbGVhc3QsIEkgYmVsaWV2ZSBpdCBkb2VzIC0gY2Fu
IGFueW9uZSBmaW5kIGFuDQpleGlzdGluZyBjYXNlIHdoZXJlIGl0IGRvZXNu
J3Q/DQoNCiAgSW5nbywgeW91IGtub3cgdGhlIHJldmVsZW50IGNvZGUgYmV0
dGVyIHRoYW4gYW55b25lIGVsc2UuICBJcyB0aGUgaWRlYQ0Kc291bmQ/DQoN
CiAgRG9lcyB0aGlzIHNvdW5kIGZyYWdpbGU/ICBZZXMsIGl0IGlzLCBidXQg
aWYgaXQgaW1wcm92ZXMgc2NhbGFiaWxpdHkgYW5kDQppcyB3ZWxsIGRvY3Vt
ZW50ZWQsIHRoZW4gaXQgaXMgd29ydGggZG9pbmcuDQoNCiAgSSd2ZSBhdHRh
Y2hlZCBhIHBhdGNoIGFnYWluc3QgMi40LjUuICBUaGUgb3JpZ2luYWwgY29k
ZSB3YXMgcHVsbGVkIGZyb20NCmEgaGlnaGx5IG1vZGlmaWVkIHRyZWUsIGJ1
dCBJIGRvbid0IHRoaW5rIEkndmUgbWFkZSBhbnkgbWlzdGFrZXMuLi4NCg0K
TWFyaw0K
--168457657-161575255-997991177=:3340--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/