From mboxrd@z Thu Jan 1 00:00:00 1970 From: NISHIGUCHI Naoki Subject: [PATCH] Fix deadlock in schedule.c at TRACE mode Date: Thu, 24 Apr 2008 13:34:58 +0900 Message-ID: <48100DF2.5000605@jp.fujitsu.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------010503090805050608090905" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------010503090805050608090905 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Hi, In schedule.c, schedule() and sched_adjust() call trace functions during acquiring lock of schedule_lock in each cpu's schedule_data. When trace buffers are enabled, the trace function (__trace_var()) may call vcpu_wake() by calling send_guest_global_virq(). In the case, a deadlock occurs when acquiring lock of schedule_lock. Attached patch fixes this problem. Signed-off-by: Naoki Nishiguchi Regards, Naoki Nishiguchi --------------010503090805050608090905 Content-Type: text/plain; name="fix_deadlock.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="fix_deadlock.patch" ZGlmZiAtciA3N2RlYzg3MzJjZGUgeGVuL2NvbW1vbi9zY2hlZHVsZS5jCi0tLSBhL3hlbi9j b21tb24vc2NoZWR1bGUuYwlXZWQgQXByIDIzIDE2OjU4OjQ0IDIwMDggKzAxMDAKKysrIGIv eGVuL2NvbW1vbi9zY2hlZHVsZS5jCVRodSBBcHIgMjQgMTE6MTk6MjUgMjAwOCArMDkwMApA QCAtNjA1LDExICs2MDUsMTMgQEAgbG9uZyBzY2hlZF9hZGp1c3Qoc3RydWN0IGRvbWFpbiAq ZCwgc3RydQogICAgIGlmICggZCA9PSBjdXJyZW50LT5kb21haW4gKQogICAgICAgICB2Y3B1 X3NjaGVkdWxlX2xvY2tfaXJxKGN1cnJlbnQpOwogCi0gICAgaWYgKCAocmV0ID0gU0NIRURf T1AoYWRqdXN0LCBkLCBvcCkpID09IDAgKQotICAgICAgICBUUkFDRV8xRChUUkNfU0NIRURf QURKRE9NLCBkLT5kb21haW5faWQpOworICAgIHJldCA9IFNDSEVEX09QKGFkanVzdCwgZCwg b3ApOwogCiAgICAgaWYgKCBkID09IGN1cnJlbnQtPmRvbWFpbiApCiAgICAgICAgIHZjcHVf c2NoZWR1bGVfdW5sb2NrX2lycShjdXJyZW50KTsKKworICAgIGlmICggcmV0ID09IDAgKQor ICAgICAgICBUUkFDRV8xRChUUkNfU0NIRURfQURKRE9NLCBkLT5kb21haW5faWQpOwogCiAg ICAgZm9yX2VhY2hfdmNwdSAoIGQsIHYgKQogICAgIHsKQEAgLTY1NCw2ICs2NTYsNyBAQCBz dGF0aWMgdm9pZCBzY2hlZHVsZSh2b2lkKQogICAgIHN0cnVjdCBzY2hlZHVsZV9kYXRhICpz ZDsKICAgICBzdHJ1Y3QgdGFza19zbGljZSAgICAgbmV4dF9zbGljZTsKICAgICBzMzIgICAg ICAgICAgICAgICAgICAgcl90aW1lOyAgICAgLyogdGltZSBmb3IgbmV3IGRvbSB0byBydW4g Ki8KKyAgICB1aW50NjRfdCAgICAgICAgICAgICAgcHJldl9zdGF0ZV90aW1lLCBuZXh0X3N0 YXRlX3RpbWU7CiAKICAgICBBU1NFUlQoIWluX2lycSgpKTsKICAgICBBU1NFUlQodGhpc19j cHUobWNfc3RhdGUpLmZsYWdzID09IDApOwpAQCAtNjgyLDE0ICs2ODUsMTAgQEAgc3RhdGlj IHZvaWQgc2NoZWR1bGUodm9pZCkKICAgICAgICAgcmV0dXJuIGNvbnRpbnVlX3J1bm5pbmco cHJldik7CiAgICAgfQogCi0gICAgVFJBQ0VfMkQoVFJDX1NDSEVEX1NXSVRDSF9JTkZQUkVW LAotICAgICAgICAgICAgIHByZXYtPmRvbWFpbi0+ZG9tYWluX2lkLAotICAgICAgICAgICAg IG5vdyAtIHByZXYtPnJ1bnN0YXRlLnN0YXRlX2VudHJ5X3RpbWUpOwotICAgIFRSQUNFXzNE KFRSQ19TQ0hFRF9TV0lUQ0hfSU5GTkVYVCwKLSAgICAgICAgICAgICBuZXh0LT5kb21haW4t PmRvbWFpbl9pZCwKLSAgICAgICAgICAgICAobmV4dC0+cnVuc3RhdGUuc3RhdGUgPT0gUlVO U1RBVEVfcnVubmFibGUpID8KLSAgICAgICAgICAgICAobm93IC0gbmV4dC0+cnVuc3RhdGUu c3RhdGVfZW50cnlfdGltZSkgOiAwLAotICAgICAgICAgICAgIHJfdGltZSk7CisgICAgLyog VGVtcG9yYXJpbHkgc2F2ZSB0aGUgcGVyaW9kIG9mIHByZXZpb3VzIHJ1bnN0YXRlLiAqLwor ICAgIHByZXZfc3RhdGVfdGltZSA9IG5vdyAtIHByZXYtPnJ1bnN0YXRlLnN0YXRlX2VudHJ5 X3RpbWU7CisgICAgbmV4dF9zdGF0ZV90aW1lID0gKG5leHQtPnJ1bnN0YXRlLnN0YXRlID09 IFJVTlNUQVRFX3J1bm5hYmxlKSA/CisgICAgICAgICAgICAgICAgICAgICAgKG5vdyAtIG5l eHQtPnJ1bnN0YXRlLnN0YXRlX2VudHJ5X3RpbWUpIDogMDsKIAogICAgIEFTU0VSVChwcmV2 LT5ydW5zdGF0ZS5zdGF0ZSA9PSBSVU5TVEFURV9ydW5uaW5nKTsKICAgICB2Y3B1X3J1bnN0 YXRlX2NoYW5nZSgKQEAgLTcwNSw2ICs3MDQsMTIgQEAgc3RhdGljIHZvaWQgc2NoZWR1bGUo dm9pZCkKICAgICBuZXh0LT5pc19ydW5uaW5nID0gMTsKIAogICAgIHNwaW5fdW5sb2NrX2ly cSgmc2QtPnNjaGVkdWxlX2xvY2spOworCisgICAgLyogQXZvaWQgZGVhZGxvY2sgYnkgY2Fs bGluZyB0aGUgdHJhY2UgZnVuY3Rpb24gYWZ0ZXIgdW5sb2NrLiAqLworICAgIFRSQUNFXzJE KFRSQ19TQ0hFRF9TV0lUQ0hfSU5GUFJFViwKKyAgICAgICAgICAgICBwcmV2LT5kb21haW4t PmRvbWFpbl9pZCwgcHJldl9zdGF0ZV90aW1lKTsKKyAgICBUUkFDRV8zRChUUkNfU0NIRURf U1dJVENIX0lORk5FWFQsCisgICAgICAgICAgICAgbmV4dC0+ZG9tYWluLT5kb21haW5faWQs IG5leHRfc3RhdGVfdGltZSwgcl90aW1lKTsKIAogICAgIHBlcmZjX2luY3Ioc2NoZWRfY3R4 KTsKIAo= --------------010503090805050608090905 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------010503090805050608090905--