From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v3 2/3] x86/vlapic: Keep timer running when switching between one-shot and periodic mode Date: Tue, 8 Aug 2017 14:32:59 +0100 Message-ID: <20170808133300.2277-3-anthony.perard@citrix.com> References: <20170808133300.2277-1-anthony.perard@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1df4df-0002tf-19 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2017 13:33:39 +0000 In-Reply-To: <20170808133300.2277-1-anthony.perard@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Anthony PERARD , Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org SWYgd2UgdGFrZSBUU0MtZGVhZGxpbmUgbW9kZSB0aW1lciBvdXQgb2YgdGhlIHBpY3R1cmUsIHRo ZSBJbnRlbCBTRE0KZG9lcyBub3Qgc2F5IHRoYXQgdGhlIHRpbWVyIGlzIGRpc2FibGUgd2hlbiB0 aGUgdGltZXIgbW9kZSBpcyBjaGFuZ2UsCmVpdGhlciBmcm9tIG9uZS1zaG90IHRvIHBlcmlvZGlj IG9yIHZpY2UgdmVyc2EuCgpBZnRlciB0aGlzIHBhdGNoLCB0aGUgdGltZXIgaXMgbm8gbG9uZ2Vy IGRpc2FybWVkIG9uIGNoYW5nZSBvZiBtb2RlLCBzbwp0aGUgY291bnRlciAoVE1DQ1QpIGtlZXBz IGNvdW50aW5nIGRvd24uCgpTbyB3aGF0IGRvZXMgYSB3cml0ZSB0byBMVlRUIGNoYW5nZXMgPyBP biBiYXJlbWV0YWwsIHRoZSBjaGFuZ2Ugb2YgbW9kZQppcyBwcm9iYWJseSB0YWtlbiBpbnRvIGFj Y291bnQgb25seSB3aGVuIHRoZSBjb3VudGVyIHJlYWNoIDAuIFdoZW4gdGhpcwpoYXBwZW4sIExW VFQgaXMgdXNlIHRvIGZpZ3VyZSBvdXQgaWYgdGhlIGNvdW50ZXIgc2hvdWxkIHJlc3RhcmQgY291 bnRpbmcKZG93biBmcm9tIFRNSUNUIChzbyBwZXJpb2RpYyBtb2RlKSBvciBzdG9wIGNvdW50aW5n IChpZiBvbmUtc2hvdCBtb2RlKS4KClRoaXMgYWxzbyBtZWFuIHRoYXQgaWYgdGhlIGNvdW50ZXIg cmVhY2ggMCBhbmQgdGhlIG1vZGUgaXMgb25lLXNob3QsIGEKY2hhbmdlIHRvIHBlcmlvZGljIHdv dWxkIG5vdCByZXN0YXJ0IHRoZSB0aW1lci4gVGhpcyBpcyBhY2hpZXZlIGJ5CnNldHRpbmcgdmxh cGljLT50aW1lcl9sYXN0X3VwZGF0ZT0wLgoKVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiBvYnNlcnZh dGlvbiBvZiB0aGUgYmVoYXZpb3Igb2YgdGhlIEFQSUMgdGltZXIgb24KYmFyZW1ldGFsIGFzIHdl bGwgYXMgY2hlY2sgdGhhdCB0aGV5IGRvZXMgbm90IGdvIGFnYWluc3QgdGhlIGRlc2NyaXB0aW9u CndyaXR0ZW4gaW4gdGhlIEludGVsIFNETS4KClNpZ25lZC1vZmYtYnk6IEFudGhvbnkgUEVSQVJE IDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgotLS0KQ2hhbmdlcyBpbiBWMzoKLSBuZXcgYXJn dW1lbnQgZm9yIHZsYXBpY191cGRhdGVfdGltZXI6IHRtaWN0X3VwZGF0ZWQuCiAgVG8gYXZvaWQg c2V0dGluZyB0aW1lcl9sYXN0X3VwZGF0ZSB0d2ljZSB3aGVuIFRNSUNUIGlzIGJlZW4gdXBkYXRl ZC4KLSB1c2UgdmFsdWVzIG9mIHBlcmlvZCBhbmQgZGVsdGEgdG8gY2FsY3VsYXRlIHRpbWVyX2xh c3RfdXBkYXRlIG9ubHkKICB3aGVuIHJlZ2lzdGVyIG90aGVyIHRoYW4gVE1JQ1QgYXJlIGJlZW4g dXBkYXRlZAotLS0KIHhlbi9hcmNoL3g4Ni9odm0vdmxhcGljLmMgfCA1MiArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM5IGlu c2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9o dm0vdmxhcGljLmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZsYXBpYy5jCmluZGV4IDU4N2VmOGRlZmUu LjdhNWZiYjQwY2QgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdmxhcGljLmMKKysrIGIv eGVuL2FyY2gveDg2L2h2bS92bGFwaWMuYwpAQCAtNTIwLDcgKzUyMCw4IEBAIHN0YXRpYyB1aW50 MzJfdCB2bGFwaWNfZ2V0X3RtY2N0KHN0cnVjdCB2bGFwaWMgKnZsYXBpYykKICAgICBjb3VudGVy X3Bhc3NlZCA9ICgoaHZtX2dldF9ndWVzdF90aW1lKHYpIC0gdmxhcGljLT50aW1lcl9sYXN0X3Vw ZGF0ZSkKICAgICAgICAgICAgICAgICAgICAgICAvIChBUElDX0JVU19DWUNMRV9OUyAqIHZsYXBp Yy0+aHcudGltZXJfZGl2aXNvcikpOwogCi0gICAgaWYgKCB0bWljdCAhPSAwICkKKyAgICAvKiBJ ZiB0aW1lcl9sYXN0X3VwZGF0ZSBpcyAwLCB0aGVuIFRNQ0NUIHNob3VsZCByZXR1cm4gMCBhcyB3 ZWxsLiAgKi8KKyAgICBpZiAoIHRtaWN0ICYmIHZsYXBpYy0+dGltZXJfbGFzdF91cGRhdGUgKQog ICAgIHsKICAgICAgICAgaWYgKCB2bGFwaWNfbHZ0dF9wZXJpb2QodmxhcGljKSApCiAgICAgICAg ICAgICBjb3VudGVyX3Bhc3NlZCAlPSB0bWljdDsKQEAgLTY3NSwyOCArNjc2LDQ3IEBAIHN0YXRp YyB2b2lkIHZsYXBpY190ZHRfcHRfY2Ioc3RydWN0IHZjcHUgKnYsIHZvaWQgKmRhdGEpCiAgKiBJ dCBleHBlY3QgdGhlIG5ldyB2YWx1ZSBvZiBMVlRUIHRvIGJlIHNldCAqYWZ0ZXIqIGJlaW5nIGNh bGxlZCwgd2l0aCB0aGlzCiAgKiBuZXcgdmFsdWVzIHBhc3NlZCBhcyBwYXJhbWV0ZXIgKG9ubHkg QVBJQ19USU1FUl9NT0RFX01BU0sgYml0cyBtYXR0ZXIpLgogICovCi1zdGF0aWMgdm9pZCB2bGFw aWNfdXBkYXRlX3RpbWVyKHN0cnVjdCB2bGFwaWMgKnZsYXBpYywgdWludDMyX3QgbHZ0dCkKK3N0 YXRpYyB2b2lkIHZsYXBpY191cGRhdGVfdGltZXIoc3RydWN0IHZsYXBpYyAqdmxhcGljLCB1aW50 MzJfdCBsdnR0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHRtaWN0X3Vw ZGF0ZWQpCiB7Ci0gICAgdWludDY0X3QgcGVyaW9kOwotICAgIGJvb2wgaXNfcGVyaW9kaWM7Cisg ICAgdWludDY0X3QgcGVyaW9kLCBkZWx0YSA9IDA7CisgICAgYm9vbCBpc19vbmVzaG90LCBpc19w ZXJpb2RpYzsKIAogICAgIGlzX3BlcmlvZGljID0gKGx2dHQgJiBBUElDX1RJTUVSX01PREVfTUFT SykgPT0gQVBJQ19USU1FUl9NT0RFX1BFUklPRElDOworICAgIGlzX29uZXNob3QgPSAobHZ0dCAm IEFQSUNfVElNRVJfTU9ERV9NQVNLKSA9PSBBUElDX1RJTUVSX01PREVfT05FU0hPVDsKIAogICAg IHBlcmlvZCA9ICh1aW50NjRfdCl2bGFwaWNfZ2V0X3JlZyh2bGFwaWMsIEFQSUNfVE1JQ1QpCiAg ICAgICAgICogQVBJQ19CVVNfQ1lDTEVfTlMgKiB2bGFwaWMtPmh3LnRpbWVyX2Rpdmlzb3I7CiAK LSAgICBpZiAoIHBlcmlvZCApCisgICAgLyogQ2FsY3VsYXRlIHRoZSBuZXh0IHRpbWUgdGhlIHRp bWVyIHNob3VsZCB0cmlnZ2VyIGFuIGludGVycnVwdC4gKi8KKyAgICBpZiAoIHRtaWN0X3VwZGF0 ZWQgKQorICAgICAgICBkZWx0YSA9IHBlcmlvZDsKKyAgICBlbHNlIGlmICggcGVyaW9kICYmIHZs YXBpYy0+dGltZXJfbGFzdF91cGRhdGUgKQogICAgIHsKLSAgICAgICAgVFJBQ0VfMl9MT05HXzNE KFRSQ19IVk1fRU1VTF9MQVBJQ19TVEFSVF9USU1FUiwgVFJDX1BBUl9MT05HKHBlcmlvZCksCisg ICAgICAgIHVpbnQ2NF90IHRpbWVfcGFzc2VkID0gaHZtX2dldF9ndWVzdF90aW1lKGN1cnJlbnQp CisgICAgICAgICAgICAtIHZsYXBpYy0+dGltZXJfbGFzdF91cGRhdGU7CisKKyAgICAgICAgLyog VGhpcyBkZXBlbmRzIG9mIHRoZSBwcmV2aW91cyBtb2RlLCBpZiBhIG5ldyBtb2RlIGlzIGJlaW5n IHNldCAqLworICAgICAgICBpZiAoIHZsYXBpY19sdnR0X3BlcmlvZCh2bGFwaWMpICkKKyAgICAg ICAgICAgIHRpbWVfcGFzc2VkICU9IHBlcmlvZDsKKyAgICAgICAgaWYgKCB0aW1lX3Bhc3NlZCA8 IHBlcmlvZCApCisgICAgICAgICAgICBkZWx0YSA9IHBlcmlvZCAtIHRpbWVfcGFzc2VkOworICAg IH0KKworICAgIGlmICggZGVsdGEgJiYgKGlzX29uZXNob3QgfHwgaXNfcGVyaW9kaWMpICkKKyAg ICB7CisgICAgICAgIFRSQUNFXzJfTE9OR18zRChUUkNfSFZNX0VNVUxfTEFQSUNfU1RBUlRfVElN RVIsIFRSQ19QQVJfTE9ORyhkZWx0YSksCiAgICAgICAgICAgICAgICAgICAgICAgICBUUkNfUEFS X0xPTkcoaXNfcGVyaW9kaWMgPyBwZXJpb2QgOiAwKSwKICAgICAgICAgICAgICAgICAgICAgICAg IHZsYXBpYy0+cHQuaXJxKTsKIAotICAgICAgICBjcmVhdGVfcGVyaW9kaWNfdGltZShjdXJyZW50 LCAmdmxhcGljLT5wdCwgcGVyaW9kLAorICAgICAgICBjcmVhdGVfcGVyaW9kaWNfdGltZShjdXJy ZW50LCAmdmxhcGljLT5wdCwgZGVsdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlz X3BlcmlvZGljID8gcGVyaW9kIDogMCwgdmxhcGljLT5wdC5pcnEsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGlzX3BlcmlvZGljID8gdmxhcGljX3B0X2NiIDogTlVMTCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJnZsYXBpYy0+dGltZXJfbGFzdF91cGRhdGUpOwogCiAgICAg ICAgIHZsYXBpYy0+dGltZXJfbGFzdF91cGRhdGUgPSB2bGFwaWMtPnB0Lmxhc3RfcGx0X2d0aW1l OworICAgICAgICBpZiAoICF0bWljdF91cGRhdGVkICkKKyAgICAgICAgICAgIHZsYXBpYy0+dGlt ZXJfbGFzdF91cGRhdGUgLT0gcGVyaW9kIC0gZGVsdGE7CiAKICAgICAgICAgSFZNX0RCR19MT0co REJHX0xFVkVMX1ZMQVBJQywKICAgICAgICAgICAgICAgICAgICAgImJ1cyBjeWNsZSBpcyAldW5z LCAiCkBAIC03MDksNiArNzI5LDEyIEBAIHN0YXRpYyB2b2lkIHZsYXBpY191cGRhdGVfdGltZXIo c3RydWN0IHZsYXBpYyAqdmxhcGljLCB1aW50MzJfdCBsdnR0KQogICAgIHsKICAgICAgICAgVFJB Q0VfMEQoVFJDX0hWTV9FTVVMX0xBUElDX1NUT1BfVElNRVIpOwogICAgICAgICBkZXN0cm95X3Bl cmlvZGljX3RpbWUoJnZsYXBpYy0+cHQpOworICAgICAgICAvKgorICAgICAgICAgKiBGcm9tIG5v dywgVE1DQ1Qgc2hvdWxkIHJldHVybiAwIHVudGlsIFRNSUNUIGlzIHNldCBhZ2Fpbi4KKyAgICAg ICAgICogVGhpcyBpcyBiZWNhdXNlIHRoZSB0aW1lciBtb2RlIHdhcyBvbmUtc2hvdCB3aGVuIHRo ZSBjb3VudGVyIHJlYWNoIDAKKyAgICAgICAgICogb3IganVzdCBiZWNhdXNlIHRoZSB0aW1lciBp cyBkaXNhYmxlLgorICAgICAgICAgKi8KKyAgICAgICAgdmxhcGljLT50aW1lcl9sYXN0X3VwZGF0 ZSA9IDA7CiAgICAgfQogfQogCkBAIC03NzYsMTYgKzgwMiwxNiBAQCBzdGF0aWMgdm9pZCB2bGFw aWNfcmVnX3dyaXRlKHN0cnVjdCB2Y3B1ICp2LAogICAgICAgICBicmVhazsKIAogICAgIGNhc2Ug QVBJQ19MVlRUOiAgICAgICAgIC8qIExWVCBUaW1lciBSZWcgKi8KLSAgICAgICAgaWYgKCAodmxh cGljX2dldF9yZWcodmxhcGljLCBvZmZzZXQpICYgQVBJQ19USU1FUl9NT0RFX01BU0spICE9Ci0g ICAgICAgICAgICAgKHZhbCAmIEFQSUNfVElNRVJfTU9ERV9NQVNLKSApCisgICAgICAgIGlmICgg dmxhcGljX2x2dHRfdGR0KHZsYXBpYykgIT0KKyAgICAgICAgICAgICAoKHZhbCAmIEFQSUNfVElN RVJfTU9ERV9NQVNLKSA9PSBBUElDX1RJTUVSX01PREVfVFNDX0RFQURMSU5FKSkKICAgICAgICAg ewotICAgICAgICAgICAgVFJBQ0VfMEQoVFJDX0hWTV9FTVVMX0xBUElDX1NUT1BfVElNRVIpOwot ICAgICAgICAgICAgZGVzdHJveV9wZXJpb2RpY190aW1lKCZ2bGFwaWMtPnB0KTsKICAgICAgICAg ICAgIHZsYXBpY19zZXRfcmVnKHZsYXBpYywgQVBJQ19UTUlDVCwgMCk7Ci0gICAgICAgICAgICB2 bGFwaWNfc2V0X3JlZyh2bGFwaWMsIEFQSUNfVE1DQ1QsIDApOwogICAgICAgICAgICAgdmxhcGlj LT5ody50ZHRfbXNyID0gMDsKICAgICAgICAgfQogICAgICAgICB2bGFwaWMtPnB0LmlycSA9IHZh bCAmIEFQSUNfVkVDVE9SX01BU0s7CisKKyAgICAgICAgdmxhcGljX3VwZGF0ZV90aW1lcih2bGFw aWMsIHZhbCwgZmFsc2UpOworCiAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCiAgICAgY2FzZSBB UElDX0xWVFRITVI6ICAgICAgLyogTFZUIFRoZXJtYWwgTW9uaXRvciAqLwogICAgIGNhc2UgQVBJ Q19MVlRQQzogICAgICAgIC8qIExWVCBQZXJmb3JtYW5jZSBDb3VudGVyICovCkBAIC04MTMsNyAr ODM5LDcgQEAgc3RhdGljIHZvaWQgdmxhcGljX3JlZ193cml0ZShzdHJ1Y3QgdmNwdSAqdiwKIAog ICAgICAgICB2bGFwaWNfc2V0X3JlZyh2bGFwaWMsIEFQSUNfVE1JQ1QsIHZhbCk7CiAKLSAgICAg ICAgdmxhcGljX3VwZGF0ZV90aW1lcih2bGFwaWMsIHZsYXBpY19nZXRfcmVnKHZsYXBpYywgQVBJ Q19MVlRUKSk7CisgICAgICAgIHZsYXBpY191cGRhdGVfdGltZXIodmxhcGljLCB2bGFwaWNfZ2V0 X3JlZyh2bGFwaWMsIEFQSUNfTFZUVCksIHRydWUpOwogICAgICAgICBicmVhazsKIAogICAgIGNh c2UgQVBJQ19URENSOgotLSAKQW50aG9ueSBQRVJBUkQKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK