From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Dan Magenheimer" Subject: RE: [PATCH] clocksource=tsc Date: Mon, 14 Jul 2008 11:59:41 -0600 Message-ID: <20080714115941000.00000080236@djm-pc> References: Reply-To: "dan.magenheimer@oracle.com" Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=-------142ddda142ddda Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser , "Xen-Devel (E-mail)" Cc: Dave Winchell List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format ---------142ddda142ddda Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable > I'm sympathetic to the patch, but it looks like an ugly hack = > right now. > Since it should clearly only affect behaviour when the new > clocksource is explicitly selected... Actually the ugliness is because the read_counter function and plt_mask are both u32 and I worried that changing them to a u64 would be too invasive. So here's two possible replacement patches, one with those switched to u64 and the other with separate 32- and 64-bit read_counter functions. Both are boot-tested with and without clocksource=3Dtsc. Dan > -----Original Message----- > From: Keir Fraser [mailto:keir.fraser@eu.citrix.com] > Sent: Monday, July 14, 2008 3:24 AM > To: dan.magenheimer@oracle.com; Xen-Devel (E-mail) > Cc: Dave Winchell > Subject: Re: [PATCH] clocksource=3Dtsc > = > = > I'm sympathetic to the patch, but it looks like an ugly hack = > right now. Most > of the clocksource_is_tsc special cases will fall away if = > you, e.g., have > platform_timer_stamp =3D stime_platform_stamp =3D local_tsc_stamp =3D > stime_local_stamp =3D 0; and provide a plt->read_counter() function; and > accept that for now you will unnecessarily take the = > platform-timer spinlock; > etc. Also it is platform timer 5, not 4! > = > Clean it up and it'll go in. Since it should clearly only = > affect behaviour > when the new clocksource is explicitly selected, I'll take this patch > further into 3.3 freeze than usual -- it's more important to = > me that it's > clean. > = > Thanks, > Keir > = > On 12/7/08 22:38, "Dan Magenheimer" = > wrote: > = > > Attached patch adds clocksource=3Dtsc boot option that > > uses TSC as clocksource. This option should only be > > used on machines where TSC is known to be synchronized > > across all processors. A future TODO is to dynamically > > determine if this is the case. > > > > TSC may "beat" with another clocksource, resulting in > > cross-processor Xen system time skew. This skew can > > be visible in PV guests and can appear as "time is stopped" > > in hvm guests. On some systems, this patch can reduce skew > > by 30x or more. > > > > Signed-off-by: Dan Magenheimer > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > Thanks... for the memory > > I really could use more / My throughput's on the floor > > The balloon is flat / My swap disk's fat / I've OOM's in store > > Overcommitted so much > > (with apologies to the late great Bob Hope) > = > = > ---------142ddda142ddda Content-Type: application/octet-stream; name="tscstable2.patch" Content-Disposition: attachment; filename="tscstable2.patch" Content-Transfer-Encoding: base64 ZGlmZiAtciBiZDk3ZTQ1ZTA3M2EgeGVuL2FyY2gveDg2L3RpbWUuYwotLS0gYS94ZW4vYXJj aC94ODYvdGltZS5jCVR1ZSBKdWwgMDggMDk6Mjg6NTAgMjAwOCArMDEwMAorKysgYi94ZW4v YXJjaC94ODYvdGltZS5jCU1vbiBKdWwgMTQgMTE6MTA6MDkgMjAwOCAtMDYwMApAQCAtNTQs MTQgKzU0LDE0IEBAIHN0cnVjdCBjcHVfdGltZSB7CiAgICAgc190aW1lX3Qgc3RpbWVfbG9j YWxfc3RhbXA7CiAgICAgc190aW1lX3Qgc3RpbWVfbWFzdGVyX3N0YW1wOwogICAgIHN0cnVj dCB0aW1lX3NjYWxlIHRzY19zY2FsZTsKLSAgICB1MzIgY3N0YXRlX3BsdF9jb3VudF9zdGFt cDsKKyAgICB1NjQgY3N0YXRlX3BsdF9jb3VudF9zdGFtcDsKICAgICBzdHJ1Y3QgdGltZXIg Y2FsaWJyYXRpb25fdGltZXI7CiB9OwogCiBzdHJ1Y3QgcGxhdGZvcm1fdGltZXNvdXJjZSB7 CiAgICAgY2hhciAqbmFtZTsKICAgICB1NjQgZnJlcXVlbmN5OwotICAgIHUzMiAoKnJlYWRf Y291bnRlcikodm9pZCk7CisgICAgdTY0ICgqcmVhZF9jb3VudGVyKSh2b2lkKTsKICAgICBp bnQgY291bnRlcl9iaXRzOwogfTsKIApAQCAtMzExLDcgKzMxMSw3IEBAIHN0YXRpYyBjaGFy ICpmcmVxX3N0cmluZyh1NjQgZnJlcSkKICAqIFBMQVRGT1JNIFRJTUVSIDE6IFBST0dSQU1N QUJMRSBJTlRFUlZBTCBUSU1FUiAoTEVHQUNZIFBJVCkKICAqLwogCi1zdGF0aWMgdTMyIHJl YWRfcGl0X2NvdW50KHZvaWQpCitzdGF0aWMgdTY0IHJlYWRfcGl0X2NvdW50KHZvaWQpCiB7 CiAgICAgdTE2IGNvdW50MTY7CiAgICAgdTMyIGNvdW50MzI7CkBAIC0zMjcsNyArMzI3LDcg QEAgc3RhdGljIHUzMiByZWFkX3BpdF9jb3VudCh2b2lkKQogCiAgICAgc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSgmcGl0X2xvY2ssIGZsYWdzKTsKIAotICAgIHJldHVybiBjb3VudDMyOwor ICAgIHJldHVybiAodTY0KWNvdW50MzI7CiB9CiAKIHN0YXRpYyB2b2lkIGluaXRfcGl0KHN0 cnVjdCBwbGF0Zm9ybV90aW1lc291cmNlICpwdHMpCkBAIC0zNDMsOSArMzQzLDkgQEAgc3Rh dGljIHZvaWQgaW5pdF9waXQoc3RydWN0IHBsYXRmb3JtX3RpbQogICogUExBVEZPUk0gVElN RVIgMjogSElHSCBQUkVDSVNJT04gRVZFTlQgVElNRVIgKEhQRVQpCiAgKi8KIAotc3RhdGlj IHUzMiByZWFkX2hwZXRfY291bnQodm9pZCkKK3N0YXRpYyB1NjQgcmVhZF9ocGV0X2NvdW50 KHZvaWQpCiB7Ci0gICAgcmV0dXJuIGhwZXRfcmVhZDMyKEhQRVRfQ09VTlRFUik7CisgICAg cmV0dXJuICh1NjQpaHBldF9yZWFkMzIoSFBFVF9DT1VOVEVSKTsKIH0KIAogc3RhdGljIGlu dCBpbml0X2hwZXQoc3RydWN0IHBsYXRmb3JtX3RpbWVzb3VyY2UgKnB0cykKQEAgLTM4Myw5 ICszODMsOSBAQCBpbnQgdXNlX2N5Y2xvbmU7CiAvKiBDeWNsb25lIE1QTUMwIHJlZ2lzdGVy LiAqLwogc3RhdGljIHZvbGF0aWxlIHUzMiAqY3ljbG9uZV90aW1lcjsKIAotc3RhdGljIHUz MiByZWFkX2N5Y2xvbmVfY291bnQodm9pZCkKK3N0YXRpYyB1NjQgcmVhZF9jeWNsb25lX2Nv dW50KHZvaWQpCiB7Ci0gICAgcmV0dXJuICpjeWNsb25lX3RpbWVyOworICAgIHJldHVybiAo dTY0KSpjeWNsb25lX3RpbWVyOwogfQogCiBzdGF0aWMgdm9sYXRpbGUgdTMyICptYXBfY3lj bG9uZV9yZWcodW5zaWduZWQgbG9uZyByZWdhZGRyKQpAQCAtNDMzLDkgKzQzMyw5IEBAIHUz MiBwbXRtcl9pb3BvcnQ7CiAvKiBBQ1BJIFBNIHRpbWVyIHRpY2tzIGF0IDMuNTc5NTQ1IE1I ei4gKi8KICNkZWZpbmUgQUNQSV9QTV9GUkVRVUVOQ1kgMzU3OTU0NQogCi1zdGF0aWMgdTMy IHJlYWRfcG10aW1lcl9jb3VudCh2b2lkKQorc3RhdGljIHU2NCByZWFkX3BtdGltZXJfY291 bnQodm9pZCkKIHsKLSAgICByZXR1cm4gaW5sKHBtdG1yX2lvcG9ydCk7CisgICAgcmV0dXJu ICh1NjQpaW5sKHBtdG1yX2lvcG9ydCk7CiB9CiAKIHN0YXRpYyBpbnQgaW5pdF9wbXRpbWVy KHN0cnVjdCBwbGF0Zm9ybV90aW1lc291cmNlICpwdHMpCkBAIC00NTIsMTUgKzQ1MiwzOCBA QCBzdGF0aWMgaW50IGluaXRfcG10aW1lcihzdHJ1Y3QgcGxhdGZvcm1fCiB9CiAKIC8qKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKKyAqIFBMQVRGT1JNIFRJTUVSIDU6IFRTQworICovCisKK3N0YXRpYyB1NjQgdHNjX2Zy ZXE7CisKK3N0YXRpYyB1NjQgcmVhZF90c2NfY291bnQodm9pZCkKK3sKKyAgICAgICAgdTY0 IHRzYzsKKwlyZHRzY2xsKHRzYyk7CisgICAgICAgIHJldHVybiB0c2M7Cit9CisKK3N0YXRp YyBpbnQgaW5pdF90c2N0aW1lcihzdHJ1Y3QgcGxhdGZvcm1fdGltZXNvdXJjZSAqcHRzKQor eworICAgIC8qIFRPRE86IGV2YWx1YXRlIHN0YWJpbGl0eSBvZiBUU0MgaGVyZSwgcmV0dXJu IDAgaWYgbm90IHN0YWJsZSAqLworICAgIHB0cy0+bmFtZSA9ICJUU0MiOworICAgIHB0cy0+ ZnJlcXVlbmN5ID0gdHNjX2ZyZXE7CisgICAgcHRzLT5yZWFkX2NvdW50ZXIgPSByZWFkX3Rz Y19jb3VudDsKKyAgICBwdHMtPmNvdW50ZXJfYml0cyA9IDY0OworICAgIHJldHVybiAxOwor fQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqCiAgKiBHRU5FUklDIFBMQVRGT1JNIFRJTUVSIElORlJBU1RSVUNUVVJF CiAgKi8KIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV90aW1lc291cmNlIHBsdF9zcmM7IC8q IGRldGFpbHMgb2YgY2hvc2VuIHRpbWVzb3VyY2UgICovCi1zdGF0aWMgdTMyIHBsdF9tYXNr OyAgICAgICAgICAgICAvKiBoYXJkd2FyZS13aWR0aCBtYXNrICAgICAgICAgICAgICAgICAg ICAgKi8KK3N0YXRpYyB1NjQgcGx0X21hc2s7ICAgICAgICAgICAgIC8qIGhhcmR3YXJlLXdp ZHRoIG1hc2sgICAgICAgICAgICAgICAgICAgICAqLwogc3RhdGljIHU2NCBwbHRfb3ZlcmZs b3dfcGVyaW9kOyAgLyogbnMgYmV0d2VlbiBjYWxscyB0byBwbHRfb3ZlcmZsb3coKSAgICAg ICovCiBzdGF0aWMgc3RydWN0IHRpbWVfc2NhbGUgcGx0X3NjYWxlOyAvKiBzY2FsZTogcGxh dGZvcm0gY291bnRlciAtPiBuYW5vc2VjcyAgKi8KIAotLyogUHJvdGVjdGVkIGJ5IHBsYXRm b3JtX3RpbWVyX2xvY2suICovCisvKiBQcm90ZWN0ZWQgYnkgcGxhdGZvcm1fdGltZXJfbG9j ay4gIE11c3QgYmUgemVybyBmb3IgNjQtYml0IGNsb2Nrc291cmNlcyAqLwogc3RhdGljIERF RklORV9TUElOTE9DSyhwbGF0Zm9ybV90aW1lcl9sb2NrKTsKIHN0YXRpYyBzX3RpbWVfdCBz dGltZV9wbGF0Zm9ybV9zdGFtcDsgLyogU3lzdGVtIHRpbWUgYXQgYmVsb3cgcGxhdGZvcm0g dGltZSAqLwogc3RhdGljIHU2NCBwbGF0Zm9ybV90aW1lcl9zdGFtcDsgICAgICAvKiBQbGF0 Zm9ybSB0aW1lIGF0IGFib3ZlIHN5c3RlbSB0aW1lICovCkBAIC00NzIsOCArNDk1LDkgQEAg c3RhdGljIHZvaWQgcGx0X292ZXJmbG93KHZvaWQgKnVudXNlZCkKIHsKICAgICB1MzIgY291 bnQ7CiAKKyAgICBBU1NFUlQocGx0X3NyYy5jb3VudGVyX2JpdHMgPD0gMzIpOwogICAgIHNw aW5fbG9jaygmcGxhdGZvcm1fdGltZXJfbG9jayk7Ci0gICAgY291bnQgPSBwbHRfc3JjLnJl YWRfY291bnRlcigpOworICAgIGNvdW50ID0gKHUzMilwbHRfc3JjLnJlYWRfY291bnRlcigp OwogICAgIHBsdF9zdGFtcDY0ICs9IChjb3VudCAtIHBsdF9zdGFtcCkgJiBwbHRfbWFzazsK ICAgICBwbHRfc3RhbXAgPSBjb3VudDsKICAgICBzcGluX3VubG9jaygmcGxhdGZvcm1fdGlt ZXJfbG9jayk7CkBAIC01MDYsNiArNTMwLDggQEAgc3RhdGljIHZvaWQgcGxhdGZvcm1fdGlt ZV9jYWxpYnJhdGlvbih2bwogICAgIHU2NCBjb3VudDsKICAgICBzX3RpbWVfdCBzdGFtcDsK IAorICAgIGlmICggcGx0X3NyYy5jb3VudGVyX2JpdHMgPT0gNjQgKQorICAgICAgICByZXR1 cm47CiAgICAgc3Bpbl9sb2NrKCZwbGF0Zm9ybV90aW1lcl9sb2NrKTsKICAgICBjb3VudCA9 IHBsdF9zdGFtcDY0ICsgKChwbHRfc3JjLnJlYWRfY291bnRlcigpIC0gcGx0X3N0YW1wKSAm IHBsdF9tYXNrKTsKICAgICBzdGFtcCA9IF9fcmVhZF9wbGF0Zm9ybV9zdGltZShjb3VudCk7 CkBAIC01MTYsNiArNTQyLDggQEAgc3RhdGljIHZvaWQgcGxhdGZvcm1fdGltZV9jYWxpYnJh dGlvbih2bwogCiBzdGF0aWMgdm9pZCByZXN1bWVfcGxhdGZvcm1fdGltZXIodm9pZCkKIHsK KyAgICBpZiAoIHBsdF9zcmMuY291bnRlcl9iaXRzID09IDY0ICkKKyAgICAgICAgcmV0dXJu OwogICAgIC8qIE5vIGNoYW5nZSBpbiBwbGF0Zm9ybV9zdGltZSBhY3Jvc3Mgc3VzcGVuZC9y ZXN1bWUuICovCiAgICAgcGxhdGZvcm1fdGltZXJfc3RhbXAgPSBwbHRfc3RhbXA2NDsKICAg ICBwbHRfc3RhbXAgPSBwbHRfc3JjLnJlYWRfY291bnRlcigpOwpAQCAtNTM2LDYgKzU2NCw4 IEBAIHN0YXRpYyB2b2lkIGluaXRfcGxhdGZvcm1fdGltZXIodm9pZCkKICAgICAgICAgICAg IHJjID0gaW5pdF9jeWNsb25lKHB0cyk7CiAgICAgICAgIGVsc2UgaWYgKCAhc3RyY21wKG9w dF9jbG9ja3NvdXJjZSwgImFjcGkiKSApCiAgICAgICAgICAgICByYyA9IGluaXRfcG10aW1l cihwdHMpOworICAgICAgICBlbHNlIGlmICggIXN0cmNtcChvcHRfY2xvY2tzb3VyY2UsICJ0 c2MiKSApCisgICAgICAgICAgICByYyA9IGluaXRfdHNjdGltZXIocHRzKTsKIAogICAgICAg ICBpZiAoIHJjIDw9IDAgKQogICAgICAgICAgICAgcHJpbnRrKCJXQVJOSU5HOiAlcyBjbG9j a3NvdXJjZSAnJXMnLlxuIiwKQEAgLTU0OSwxNiArNTc5LDI2IEBAIHN0YXRpYyB2b2lkIGlu aXRfcGxhdGZvcm1fdGltZXIodm9pZCkKICAgICAgICAgICFpbml0X3BtdGltZXIocHRzKSAp CiAgICAgICAgIGluaXRfcGl0KHB0cyk7CiAKLSAgICBwbHRfbWFzayA9ICh1MzIpfjB1ID4+ ICgzMiAtIHB0cy0+Y291bnRlcl9iaXRzKTsKLQogICAgIHNldF90aW1lX3NjYWxlKCZwbHRf c2NhbGUsIHB0cy0+ZnJlcXVlbmN5KTsKIAotICAgIHBsdF9vdmVyZmxvd19wZXJpb2QgPSBz Y2FsZV9kZWx0YSgKLSAgICAgICAgMXVsbCA8PCAocHRzLT5jb3VudGVyX2JpdHMtMSksICZw bHRfc2NhbGUpOwotICAgIGluaXRfdGltZXIoJnBsdF9vdmVyZmxvd190aW1lciwgcGx0X292 ZXJmbG93LCBOVUxMLCAwKTsKLSAgICBwbHRfb3ZlcmZsb3coTlVMTCk7CisgICAgaWYgKHB0 cy0+Y291bnRlcl9iaXRzICE9IDY0ICkKKyAgICB7CisgICAgICAgIHBsdF9tYXNrID0gKHUz Mil+MHUgPj4gKDMyIC0gcHRzLT5jb3VudGVyX2JpdHMpOwogCi0gICAgcGxhdGZvcm1fdGlt ZXJfc3RhbXAgPSBwbHRfc3RhbXA2NDsKKyAgICAgICAgcGx0X292ZXJmbG93X3BlcmlvZCA9 IHNjYWxlX2RlbHRhKAorICAgICAgICAgICAgMXVsbCA8PCAocHRzLT5jb3VudGVyX2JpdHMt MSksICZwbHRfc2NhbGUpOworICAgICAgICBpbml0X3RpbWVyKCZwbHRfb3ZlcmZsb3dfdGlt ZXIsIHBsdF9vdmVyZmxvdywgTlVMTCwgMCk7CisgICAgICAgIHBsdF9vdmVyZmxvdyhOVUxM KTsKKworICAgICAgICBwbGF0Zm9ybV90aW1lcl9zdGFtcCA9IHBsdF9zdGFtcDY0OworICAg IH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBwbHRfbWFzayA9IC0xTEw7CisgICAgICAg IHBsYXRmb3JtX3RpbWVyX3N0YW1wID0gIHN0aW1lX3BsYXRmb3JtX3N0YW1wID0gMDsKKyAg ICAgICAgcGx0X3N0YW1wID0gcGx0X3N0YW1wNjQgPSAwOworICAgIH0KKwogCiAgICAgcHJp bnRrKCJQbGF0Zm9ybSB0aW1lciBpcyAlcyAlc1xuIiwKICAgICAgICAgICAgZnJlcV9zdHJp bmcocHRzLT5mcmVxdWVuY3kpLCBwdHMtPm5hbWUpOwpAQCAtNTc3LDEwICs2MTcsMTEgQEAg dm9pZCBjc3RhdGVfcmVzdG9yZV90c2Modm9pZCkKIHZvaWQgY3N0YXRlX3Jlc3RvcmVfdHNj KHZvaWQpCiB7CiAgICAgc3RydWN0IGNwdV90aW1lICp0OwotICAgIHUzMiAgICBwbHRfY291 bnRfZGVsdGE7CisgICAgdTY0ICAgIHBsdF9jb3VudF9kZWx0YTsKICAgICB1NjQgICAgdHNj X2RlbHRhOwogCi0gICAgaWYgKCF0c2NfaW52YXJpYW50KXsKKyAgICBpZiAoICF0c2NfaW52 YXJpYW50ICkKKyAgICB7CiAgICAgICAgIHQgPSAmdGhpc19jcHUoY3B1X3RpbWUpOwogCiAg ICAgICAgIC8qIGlmIHBsYXRmb3JtIGNvdW50ZXIgb3ZlcmZsb3cgaGFwcGVucywgaW50ZXJy dXB0IHdpbGwgYnJpbmcgQ1BVIGZyb20KQEAgLTY4NywxNCArNzI4LDE5IEBAIHN0YXRpYyB1 bnNpZ25lZCBsb25nIGdldF9jbW9zX3RpbWUodm9pZCkKIAogc190aW1lX3QgZ2V0X3NfdGlt ZSh2b2lkKQogewotICAgIHN0cnVjdCBjcHVfdGltZSAqdCA9ICZ0aGlzX2NwdShjcHVfdGlt ZSk7CisgICAgc3RydWN0IGNwdV90aW1lICp0OwogICAgIHU2NCB0c2MsIGRlbHRhOwogICAg IHNfdGltZV90IG5vdzsKIAogICAgIHJkdHNjbGwodHNjKTsKLSAgICBkZWx0YSA9IHRzYyAt IHQtPmxvY2FsX3RzY19zdGFtcDsKLSAgICBub3cgPSB0LT5zdGltZV9sb2NhbF9zdGFtcCAr IHNjYWxlX2RlbHRhKGRlbHRhLCAmdC0+dHNjX3NjYWxlKTsKLQorICAgIGlmICggcGx0X3Ny Yy5jb3VudGVyX2JpdHMgPT0gNjQgKQorICAgICAgICBub3cgPSBzY2FsZV9kZWx0YSh0c2Ms ICZwbHRfc2NhbGUpOworICAgIGVsc2UKKyAgICB7CisgICAgICAgIHQgPSAmdGhpc19jcHUo Y3B1X3RpbWUpOworICAgICAgICBkZWx0YSA9IHRzYyAtIHQtPmxvY2FsX3RzY19zdGFtcDsK KyAgICAgICAgbm93ID0gdC0+c3RpbWVfbG9jYWxfc3RhbXAgKyBzY2FsZV9kZWx0YShkZWx0 YSwgJnQtPnRzY19zY2FsZSk7CisgICAgfQogICAgIHJldHVybiBub3c7CiB9CiAKQEAgLTk5 Niw2ICsxMDQyLDcgQEAgdm9pZCBfX2luaXQgZWFybHlfdGltZV9pbml0KHZvaWQpCiB7CiAg ICAgdTY0IHRtcCA9IGluaXRfcGl0X2FuZF9jYWxpYnJhdGVfdHNjKCk7CiAKKyAgICB0c2Nf ZnJlcSA9IHRtcDsKICAgICBzZXRfdGltZV9zY2FsZSgmdGhpc19jcHUoY3B1X3RpbWUpLnRz Y19zY2FsZSwgdG1wKTsKIAogICAgIGRvX2Rpdih0bXAsIDEwMDApOwo= ---------142ddda142ddda Content-Type: application/octet-stream; name="tscstable3.patch" Content-Disposition: attachment; filename="tscstable3.patch" Content-Transfer-Encoding: base64 ZGlmZiAtciBiZDk3ZTQ1ZTA3M2EgeGVuL2FyY2gveDg2L3RpbWUuYwotLS0gYS94ZW4vYXJj aC94ODYvdGltZS5jCVR1ZSBKdWwgMDggMDk6Mjg6NTAgMjAwOCArMDEwMAorKysgYi94ZW4v YXJjaC94ODYvdGltZS5jCU1vbiBKdWwgMTQgMTE6NTA6NTQgMjAwOCAtMDYwMApAQCAtNTQs MTUgKzU0LDE3IEBAIHN0cnVjdCBjcHVfdGltZSB7CiAgICAgc190aW1lX3Qgc3RpbWVfbG9j YWxfc3RhbXA7CiAgICAgc190aW1lX3Qgc3RpbWVfbWFzdGVyX3N0YW1wOwogICAgIHN0cnVj dCB0aW1lX3NjYWxlIHRzY19zY2FsZTsKLSAgICB1MzIgY3N0YXRlX3BsdF9jb3VudF9zdGFt cDsKKyAgICB1NjQgY3N0YXRlX3BsdF9jb3VudF9zdGFtcDsKICAgICBzdHJ1Y3QgdGltZXIg Y2FsaWJyYXRpb25fdGltZXI7CiB9OwogCiBzdHJ1Y3QgcGxhdGZvcm1fdGltZXNvdXJjZSB7 CiAgICAgY2hhciAqbmFtZTsKICAgICB1NjQgZnJlcXVlbmN5OwotICAgIHUzMiAoKnJlYWRf Y291bnRlcikodm9pZCk7CisgICAgdTMyICgqcmVhZF9jb3VudGVyMzIpKHZvaWQpOworICAg IHU2NCAoKnJlYWRfY291bnRlcjY0KSh2b2lkKTsKICAgICBpbnQgY291bnRlcl9iaXRzOwor ICAgIHU2NCBtYXNrOwogfTsKIAogc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBjcHVf dGltZSwgY3B1X3RpbWUpOwpAQCAtMzM0LDggKzMzNiw5IEBAIHN0YXRpYyB2b2lkIGluaXRf cGl0KHN0cnVjdCBwbGF0Zm9ybV90aW0KIHsKICAgICBwdHMtPm5hbWUgPSAiUElUIjsKICAg ICBwdHMtPmZyZXF1ZW5jeSA9IENMT0NLX1RJQ0tfUkFURTsKLSAgICBwdHMtPnJlYWRfY291 bnRlciA9IHJlYWRfcGl0X2NvdW50OworICAgIHB0cy0+cmVhZF9jb3VudGVyMzIgPSByZWFk X3BpdF9jb3VudDsKICAgICBwdHMtPmNvdW50ZXJfYml0cyA9IDMyOworICAgIHB0cy0+bWFz ayA9ICh1MzIpMHhmZmZmZmZmZjsKICAgICB1c2luZ19waXQgPSAxOwogfQogCkBAIC0zNTcs OCArMzYwLDkgQEAgc3RhdGljIGludCBpbml0X2hwZXQoc3RydWN0IHBsYXRmb3JtX3RpbQog CiAgICAgcHRzLT5uYW1lID0gIkhQRVQiOwogICAgIHB0cy0+ZnJlcXVlbmN5ID0gaHBldF9y YXRlOwotICAgIHB0cy0+cmVhZF9jb3VudGVyID0gcmVhZF9ocGV0X2NvdW50OworICAgIHB0 cy0+cmVhZF9jb3VudGVyMzIgPSByZWFkX2hwZXRfY291bnQ7CiAgICAgcHRzLT5jb3VudGVy X2JpdHMgPSAzMjsKKyAgICBwdHMtPm1hc2sgPSAodTMyKTB4ZmZmZmZmZmY7CiAKICAgICBy ZXR1cm4gMTsKIH0KQEAgLTQxOCw4ICs0MjIsOSBAQCBzdGF0aWMgaW50IGluaXRfY3ljbG9u ZShzdHJ1Y3QgcGxhdGZvcm1fCiAKICAgICBwdHMtPm5hbWUgPSAiSUJNIEN5Y2xvbmUiOwog ICAgIHB0cy0+ZnJlcXVlbmN5ID0gQ1lDTE9ORV9USU1FUl9GUkVROwotICAgIHB0cy0+cmVh ZF9jb3VudGVyID0gcmVhZF9jeWNsb25lX2NvdW50OworICAgIHB0cy0+cmVhZF9jb3VudGVy MzIgPSByZWFkX2N5Y2xvbmVfY291bnQ7CiAgICAgcHRzLT5jb3VudGVyX2JpdHMgPSAzMjsK KyAgICBwdHMtPm1hc2sgPSAodTMyKTB4ZmZmZmZmZmY7CiAKICAgICByZXR1cm4gMTsKIH0K QEAgLTQ0NSw5ICs0NTAsMzQgQEAgc3RhdGljIGludCBpbml0X3BtdGltZXIoc3RydWN0IHBs YXRmb3JtXwogCiAgICAgcHRzLT5uYW1lID0gIkFDUEkgUE0gVGltZXIiOwogICAgIHB0cy0+ ZnJlcXVlbmN5ID0gQUNQSV9QTV9GUkVRVUVOQ1k7Ci0gICAgcHRzLT5yZWFkX2NvdW50ZXIg PSByZWFkX3BtdGltZXJfY291bnQ7CisgICAgcHRzLT5yZWFkX2NvdW50ZXIzMiA9IHJlYWRf cG10aW1lcl9jb3VudDsKICAgICBwdHMtPmNvdW50ZXJfYml0cyA9IDI0OworICAgIHB0cy0+ bWFzayA9ICh1MzIpMHhmZmZmZmY7CiAKKyAgICByZXR1cm4gMTsKK30KKworLyoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgor ICogUExBVEZPUk0gVElNRVIgNTogVFNDCisgKi8KKworc3RhdGljIHU2NCB0c2NfZnJlcTsK Kworc3RhdGljIHU2NCByZWFkX3RzY19jb3VudCh2b2lkKQoreworICAgICAgICB1NjQgdHNj OworCXJkdHNjbGwodHNjKTsKKyAgICAgICAgcmV0dXJuIHRzYzsKK30KKworc3RhdGljIGlu dCBpbml0X3RzY3RpbWVyKHN0cnVjdCBwbGF0Zm9ybV90aW1lc291cmNlICpwdHMpCit7Cisg ICAgLyogVE9ETzogZXZhbHVhdGUgc3RhYmlsaXR5IG9mIFRTQyBoZXJlLCByZXR1cm4gMCBp ZiBub3Qgc3RhYmxlICovCisgICAgcHRzLT5uYW1lID0gIlRTQyI7CisgICAgcHRzLT5mcmVx dWVuY3kgPSB0c2NfZnJlcTsKKyAgICBwdHMtPnJlYWRfY291bnRlcjY0ID0gcmVhZF90c2Nf Y291bnQ7CisgICAgcHRzLT5jb3VudGVyX2JpdHMgPSA2NDsKKyAgICBwdHMtPm1hc2sgPSAt MUxMOwogICAgIHJldHVybiAxOwogfQogCkBAIC00NTYsMTEgKzQ4NiwxMCBAQCBzdGF0aWMg aW50IGluaXRfcG10aW1lcihzdHJ1Y3QgcGxhdGZvcm1fCiAgKi8KIAogc3RhdGljIHN0cnVj dCBwbGF0Zm9ybV90aW1lc291cmNlIHBsdF9zcmM7IC8qIGRldGFpbHMgb2YgY2hvc2VuIHRp bWVzb3VyY2UgICovCi1zdGF0aWMgdTMyIHBsdF9tYXNrOyAgICAgICAgICAgICAvKiBoYXJk d2FyZS13aWR0aCBtYXNrICAgICAgICAgICAgICAgICAgICAgKi8KIHN0YXRpYyB1NjQgcGx0 X292ZXJmbG93X3BlcmlvZDsgIC8qIG5zIGJldHdlZW4gY2FsbHMgdG8gcGx0X292ZXJmbG93 KCkgICAgICAqLwogc3RhdGljIHN0cnVjdCB0aW1lX3NjYWxlIHBsdF9zY2FsZTsgLyogc2Nh bGU6IHBsYXRmb3JtIGNvdW50ZXIgLT4gbmFub3NlY3MgICovCiAKLS8qIFByb3RlY3RlZCBi eSBwbGF0Zm9ybV90aW1lcl9sb2NrLiAqLworLyogUHJvdGVjdGVkIGJ5IHBsYXRmb3JtX3Rp bWVyX2xvY2suICBNdXN0IGJlIHplcm8gZm9yIDY0LWJpdCBjbG9ja3NvdXJjZXMgKi8KIHN0 YXRpYyBERUZJTkVfU1BJTkxPQ0socGxhdGZvcm1fdGltZXJfbG9jayk7CiBzdGF0aWMgc190 aW1lX3Qgc3RpbWVfcGxhdGZvcm1fc3RhbXA7IC8qIFN5c3RlbSB0aW1lIGF0IGJlbG93IHBs YXRmb3JtIHRpbWUgKi8KIHN0YXRpYyB1NjQgcGxhdGZvcm1fdGltZXJfc3RhbXA7ICAgICAg LyogUGxhdGZvcm0gdGltZSBhdCBhYm92ZSBzeXN0ZW0gdGltZSAqLwpAQCAtNDY4LDEzICs0 OTcsMjIgQEAgc3RhdGljIHUzMiBwbHRfc3RhbXA7ICAgICAgICAgICAgLyogaGFyZAogc3Rh dGljIHUzMiBwbHRfc3RhbXA7ICAgICAgICAgICAgLyogaGFyZHdhcmUtd2lkdGggcGxhdGZv cm0gY291bnRlciBzdGFtcCAgICovCiBzdGF0aWMgc3RydWN0IHRpbWVyIHBsdF9vdmVyZmxv d190aW1lcjsKIAorc3RhdGljIGlubGluZSB1NjQgcGx0X3JlYWRfY291bnRlcih2b2lkKQor eworICAgIGlmICggcGx0X3NyYy5jb3VudGVyX2JpdHMgPT0gNjQgKQorICAgICAgICByZXR1 cm4gcGx0X3NyYy5yZWFkX2NvdW50ZXI2NCgpOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJu IHBsdF9zcmMucmVhZF9jb3VudGVyMzIoKTsKK30KKwogc3RhdGljIHZvaWQgcGx0X292ZXJm bG93KHZvaWQgKnVudXNlZCkKIHsKICAgICB1MzIgY291bnQ7CiAKKyAgICBBU1NFUlQocGx0 X3NyYy5jb3VudGVyX2JpdHMgPD0gMzIpOwogICAgIHNwaW5fbG9jaygmcGxhdGZvcm1fdGlt ZXJfbG9jayk7Ci0gICAgY291bnQgPSBwbHRfc3JjLnJlYWRfY291bnRlcigpOwotICAgIHBs dF9zdGFtcDY0ICs9IChjb3VudCAtIHBsdF9zdGFtcCkgJiBwbHRfbWFzazsKKyAgICBjb3Vu dCA9ICh1MzIpcGx0X3NyYy5yZWFkX2NvdW50ZXIzMigpOworICAgIHBsdF9zdGFtcDY0ICs9 IChjb3VudCAtIHBsdF9zdGFtcCkgJiBwbHRfc3JjLm1hc2s7CiAgICAgcGx0X3N0YW1wID0g Y291bnQ7CiAgICAgc3Bpbl91bmxvY2soJnBsYXRmb3JtX3RpbWVyX2xvY2spOwogCkBAIC00 OTQsNyArNTMyLDcgQEAgc3RhdGljIHNfdGltZV90IHJlYWRfcGxhdGZvcm1fc3RpbWUodm9p ZAogICAgIHNfdGltZV90IHN0aW1lOwogCiAgICAgc3Bpbl9sb2NrKCZwbGF0Zm9ybV90aW1l cl9sb2NrKTsKLSAgICBjb3VudCA9IHBsdF9zdGFtcDY0ICsgKChwbHRfc3JjLnJlYWRfY291 bnRlcigpIC0gcGx0X3N0YW1wKSAmIHBsdF9tYXNrKTsKKyAgICBjb3VudCA9IHBsdF9zdGFt cDY0ICsgKChwbHRfcmVhZF9jb3VudGVyKCkgLSBwbHRfc3RhbXApICYgcGx0X3NyYy5tYXNr KTsKICAgICBzdGltZSA9IF9fcmVhZF9wbGF0Zm9ybV9zdGltZShjb3VudCk7CiAgICAgc3Bp bl91bmxvY2soJnBsYXRmb3JtX3RpbWVyX2xvY2spOwogCkBAIC01MDYsOCArNTQ0LDEwIEBA IHN0YXRpYyB2b2lkIHBsYXRmb3JtX3RpbWVfY2FsaWJyYXRpb24odm8KICAgICB1NjQgY291 bnQ7CiAgICAgc190aW1lX3Qgc3RhbXA7CiAKKyAgICBpZiAoIHBsdF9zcmMuY291bnRlcl9i aXRzID09IDY0ICkKKyAgICAgICAgcmV0dXJuOwogICAgIHNwaW5fbG9jaygmcGxhdGZvcm1f dGltZXJfbG9jayk7Ci0gICAgY291bnQgPSBwbHRfc3RhbXA2NCArICgocGx0X3NyYy5yZWFk X2NvdW50ZXIoKSAtIHBsdF9zdGFtcCkgJiBwbHRfbWFzayk7CisgICAgY291bnQgPSBwbHRf c3RhbXA2NCArICgocGx0X3JlYWRfY291bnRlcigpIC0gcGx0X3N0YW1wKSAmIHBsdF9zcmMu bWFzayk7CiAgICAgc3RhbXAgPSBfX3JlYWRfcGxhdGZvcm1fc3RpbWUoY291bnQpOwogICAg IHN0aW1lX3BsYXRmb3JtX3N0YW1wID0gc3RhbXA7CiAgICAgcGxhdGZvcm1fdGltZXJfc3Rh bXAgPSBjb3VudDsKQEAgLTUxNiw5ICs1NTYsMTEgQEAgc3RhdGljIHZvaWQgcGxhdGZvcm1f dGltZV9jYWxpYnJhdGlvbih2bwogCiBzdGF0aWMgdm9pZCByZXN1bWVfcGxhdGZvcm1fdGlt ZXIodm9pZCkKIHsKKyAgICBpZiAoIHBsdF9zcmMuY291bnRlcl9iaXRzID09IDY0ICkKKyAg ICAgICAgcmV0dXJuOwogICAgIC8qIE5vIGNoYW5nZSBpbiBwbGF0Zm9ybV9zdGltZSBhY3Jv c3Mgc3VzcGVuZC9yZXN1bWUuICovCiAgICAgcGxhdGZvcm1fdGltZXJfc3RhbXAgPSBwbHRf c3RhbXA2NDsKLSAgICBwbHRfc3RhbXAgPSBwbHRfc3JjLnJlYWRfY291bnRlcigpOworICAg IHBsdF9zdGFtcCA9IHBsdF9yZWFkX2NvdW50ZXIoKTsKIH0KIAogc3RhdGljIHZvaWQgaW5p dF9wbGF0Zm9ybV90aW1lcih2b2lkKQpAQCAtNTM2LDYgKzU3OCw4IEBAIHN0YXRpYyB2b2lk IGluaXRfcGxhdGZvcm1fdGltZXIodm9pZCkKICAgICAgICAgICAgIHJjID0gaW5pdF9jeWNs b25lKHB0cyk7CiAgICAgICAgIGVsc2UgaWYgKCAhc3RyY21wKG9wdF9jbG9ja3NvdXJjZSwg ImFjcGkiKSApCiAgICAgICAgICAgICByYyA9IGluaXRfcG10aW1lcihwdHMpOworICAgICAg ICBlbHNlIGlmICggIXN0cmNtcChvcHRfY2xvY2tzb3VyY2UsICJ0c2MiKSApCisgICAgICAg ICAgICByYyA9IGluaXRfdHNjdGltZXIocHRzKTsKIAogICAgICAgICBpZiAoIHJjIDw9IDAg KQogICAgICAgICAgICAgcHJpbnRrKCJXQVJOSU5HOiAlcyBjbG9ja3NvdXJjZSAnJXMnLlxu IiwKQEAgLTU0OSwxNiArNTkzLDIzIEBAIHN0YXRpYyB2b2lkIGluaXRfcGxhdGZvcm1fdGlt ZXIodm9pZCkKICAgICAgICAgICFpbml0X3BtdGltZXIocHRzKSApCiAgICAgICAgIGluaXRf cGl0KHB0cyk7CiAKLSAgICBwbHRfbWFzayA9ICh1MzIpfjB1ID4+ICgzMiAtIHB0cy0+Y291 bnRlcl9iaXRzKTsKLQogICAgIHNldF90aW1lX3NjYWxlKCZwbHRfc2NhbGUsIHB0cy0+ZnJl cXVlbmN5KTsKIAotICAgIHBsdF9vdmVyZmxvd19wZXJpb2QgPSBzY2FsZV9kZWx0YSgKLSAg ICAgICAgMXVsbCA8PCAocHRzLT5jb3VudGVyX2JpdHMtMSksICZwbHRfc2NhbGUpOwotICAg IGluaXRfdGltZXIoJnBsdF9vdmVyZmxvd190aW1lciwgcGx0X292ZXJmbG93LCBOVUxMLCAw KTsKLSAgICBwbHRfb3ZlcmZsb3coTlVMTCk7CisgICAgaWYgKHB0cy0+Y291bnRlcl9iaXRz ICE9IDY0ICkKKyAgICB7CisgICAgICAgIHBsdF9vdmVyZmxvd19wZXJpb2QgPSBzY2FsZV9k ZWx0YSgKKyAgICAgICAgICAgIDF1bGwgPDwgKHB0cy0+Y291bnRlcl9iaXRzLTEpLCAmcGx0 X3NjYWxlKTsKKyAgICAgICAgaW5pdF90aW1lcigmcGx0X292ZXJmbG93X3RpbWVyLCBwbHRf b3ZlcmZsb3csIE5VTEwsIDApOworICAgICAgICBwbHRfb3ZlcmZsb3coTlVMTCk7CiAKLSAg ICBwbGF0Zm9ybV90aW1lcl9zdGFtcCA9IHBsdF9zdGFtcDY0OworICAgICAgICBwbGF0Zm9y bV90aW1lcl9zdGFtcCA9IHBsdF9zdGFtcDY0OworICAgIH0KKyAgICBlbHNlCisgICAgewor ICAgICAgICBwbGF0Zm9ybV90aW1lcl9zdGFtcCA9ICBzdGltZV9wbGF0Zm9ybV9zdGFtcCA9 IDA7CisgICAgICAgIHBsdF9zdGFtcCA9IHBsdF9zdGFtcDY0ID0gMDsKKyAgICB9CisKIAog ICAgIHByaW50aygiUGxhdGZvcm0gdGltZXIgaXMgJXMgJXNcbiIsCiAgICAgICAgICAgIGZy ZXFfc3RyaW5nKHB0cy0+ZnJlcXVlbmN5KSwgcHRzLT5uYW1lKTsKQEAgLTU2OSw3ICs2MjAs NyBAQCB2b2lkIGNzdGF0ZV9zYXZlX3RzYyh2b2lkKQogICAgIHN0cnVjdCBjcHVfdGltZSAq dCA9ICZ0aGlzX2NwdShjcHVfdGltZSk7CiAKICAgICBpZiAoIXRzY19pbnZhcmlhbnQpewot ICAgICAgICB0LT5jc3RhdGVfcGx0X2NvdW50X3N0YW1wID0gcGx0X3NyYy5yZWFkX2NvdW50 ZXIoKTsKKyAgICAgICAgdC0+Y3N0YXRlX3BsdF9jb3VudF9zdGFtcCA9IHBsdF9yZWFkX2Nv dW50ZXIoKTsKICAgICAgICAgcmR0c2NsbCh0LT5jc3RhdGVfdHNjX3N0YW1wKTsKICAgICB9 CiB9CkBAIC01NzcsMTAgKzYyOCwxMSBAQCB2b2lkIGNzdGF0ZV9yZXN0b3JlX3RzYyh2b2lk KQogdm9pZCBjc3RhdGVfcmVzdG9yZV90c2Modm9pZCkKIHsKICAgICBzdHJ1Y3QgY3B1X3Rp bWUgKnQ7Ci0gICAgdTMyICAgIHBsdF9jb3VudF9kZWx0YTsKKyAgICB1NjQgICAgcGx0X2Nv dW50X2RlbHRhOwogICAgIHU2NCAgICB0c2NfZGVsdGE7CiAKLSAgICBpZiAoIXRzY19pbnZh cmlhbnQpeworICAgIGlmICggIXRzY19pbnZhcmlhbnQgKQorICAgIHsKICAgICAgICAgdCA9 ICZ0aGlzX2NwdShjcHVfdGltZSk7CiAKICAgICAgICAgLyogaWYgcGxhdGZvcm0gY291bnRl ciBvdmVyZmxvdyBoYXBwZW5zLCBpbnRlcnJ1cHQgd2lsbCBicmluZyBDUFUgZnJvbQpAQCAt NTg5LDcgKzY0MSw3IEBAIHZvaWQgY3N0YXRlX3Jlc3RvcmVfdHNjKHZvaWQpCiAgICAgICAg ICAgIGlzIGVub3VnaCBmb3IgZGVsdGEgY2FsY3VsYXRpb24KICAgICAgICAgICovCiAgICAg ICAgIHBsdF9jb3VudF9kZWx0YSA9IAotICAgICAgICAgICAgKHBsdF9zcmMucmVhZF9jb3Vu dGVyKCkgLSB0LT5jc3RhdGVfcGx0X2NvdW50X3N0YW1wKSAmIHBsdF9tYXNrOworICAgICAg ICAgICAgKHBsdF9yZWFkX2NvdW50ZXIoKSAtIHQtPmNzdGF0ZV9wbHRfY291bnRfc3RhbXAp ICYgcGx0X3NyYy5tYXNrOwogICAgICAgICB0c2NfZGVsdGEgPSBzY2FsZV9kZWx0YShwbHRf Y291bnRfZGVsdGEsICZwbHRfc2NhbGUpKmNwdV9raHovMTAwMDAwMFVMOwogICAgICAgICB3 cm1zcmwoTVNSX0lBMzJfVFNDLCAgdC0+Y3N0YXRlX3RzY19zdGFtcCArIHRzY19kZWx0YSk7 CiAgICAgfQpAQCAtNjg3LDE0ICs3MzksMTkgQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0 X2Ntb3NfdGltZSh2b2lkKQogCiBzX3RpbWVfdCBnZXRfc190aW1lKHZvaWQpCiB7Ci0gICAg c3RydWN0IGNwdV90aW1lICp0ID0gJnRoaXNfY3B1KGNwdV90aW1lKTsKKyAgICBzdHJ1Y3Qg Y3B1X3RpbWUgKnQ7CiAgICAgdTY0IHRzYywgZGVsdGE7CiAgICAgc190aW1lX3Qgbm93Owog CiAgICAgcmR0c2NsbCh0c2MpOwotICAgIGRlbHRhID0gdHNjIC0gdC0+bG9jYWxfdHNjX3N0 YW1wOwotICAgIG5vdyA9IHQtPnN0aW1lX2xvY2FsX3N0YW1wICsgc2NhbGVfZGVsdGEoZGVs dGEsICZ0LT50c2Nfc2NhbGUpOwotCisgICAgaWYgKCBwbHRfc3JjLmNvdW50ZXJfYml0cyA9 PSA2NCApCisgICAgICAgIG5vdyA9IHNjYWxlX2RlbHRhKHRzYywgJnBsdF9zY2FsZSk7Cisg ICAgZWxzZQorICAgIHsKKyAgICAgICAgdCA9ICZ0aGlzX2NwdShjcHVfdGltZSk7CisgICAg ICAgIGRlbHRhID0gdHNjIC0gdC0+bG9jYWxfdHNjX3N0YW1wOworICAgICAgICBub3cgPSB0 LT5zdGltZV9sb2NhbF9zdGFtcCArIHNjYWxlX2RlbHRhKGRlbHRhLCAmdC0+dHNjX3NjYWxl KTsKKyAgICB9CiAgICAgcmV0dXJuIG5vdzsKIH0KIApAQCAtOTU3LDcgKzEwMTQsOCBAQCB2 b2lkIGluaXRfcGVyY3B1X3RpbWUodm9pZCkKIAogICAgIGxvY2FsX2lycV9zYXZlKGZsYWdz KTsKICAgICByZHRzY2xsKHQtPmxvY2FsX3RzY19zdGFtcCk7Ci0gICAgbm93ID0gIXBsdF9z cmMucmVhZF9jb3VudGVyID8gMCA6IHJlYWRfcGxhdGZvcm1fc3RpbWUoKTsKKyAgICBub3cg PSAoICFwbHRfc3JjLnJlYWRfY291bnRlcjMyICYmICFwbHRfc3JjLnJlYWRfY291bnRlcjY0 ICkgPyAwIDoKKyAgICAgICAgcmVhZF9wbGF0Zm9ybV9zdGltZSgpOwogICAgIGxvY2FsX2ly cV9yZXN0b3JlKGZsYWdzKTsKIAogICAgIHQtPnN0aW1lX21hc3Rlcl9zdGFtcCA9IG5vdzsK QEAgLTk5Niw2ICsxMDU0LDcgQEAgdm9pZCBfX2luaXQgZWFybHlfdGltZV9pbml0KHZvaWQp CiB7CiAgICAgdTY0IHRtcCA9IGluaXRfcGl0X2FuZF9jYWxpYnJhdGVfdHNjKCk7CiAKKyAg ICB0c2NfZnJlcSA9IHRtcDsKICAgICBzZXRfdGltZV9zY2FsZSgmdGhpc19jcHUoY3B1X3Rp bWUpLnRzY19zY2FsZSwgdG1wKTsKIAogICAgIGRvX2Rpdih0bXAsIDEwMDApOwo= ---------142ddda142ddda 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 ---------142ddda142ddda--