From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rik van Riel Subject: RFC/PATCH: hdparm tunable IDE write cache for HVM Date: Fri, 11 Aug 2006 02:28:59 -0400 Message-ID: <44DC23AB.7010300@redhat.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------080005030704060500050105" 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. --------------080005030704060500050105 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit qemu 0.8.2 has a flush callback to the storage backends, so now it is possible to implement hdparm tunable IDE write cache enable/disable for guest domains, allowing people to pick speed or data consistency on a case by case basis. As an added benefit, really large LBA48 IOs will now no longer be broken up into smaller IOs on the host side. What do you think? -- "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan --------------080005030704060500050105 Content-Type: text/plain; name="ioemu-writecache" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="ioemu-writecache" LS0tIHRvb2xzL2lvZW11L2h3L2lkZS5jLmhkcGFybQkyMDA2LTA4LTExIDAyOjE2OjQzLjAw MDAwMDAwMCAtMDQwMAorKysgdG9vbHMvaW9lbXUvaHcvaWRlLmMJMjAwNi0wOC0xMSAwMjoy MzozMy4wMDAwMDAwMDAgLTA0MDAKQEAgLTMwNSw2ICszMDUsNyBAQCB0eXBlZGVmIHN0cnVj dCBJREVTdGF0ZSB7CiAgICAgUENJRGV2aWNlICpwY2lfZGV2OwogICAgIHN0cnVjdCBCTURN QVN0YXRlICpibWRtYTsKICAgICBpbnQgZHJpdmVfc2VyaWFsOworICAgIGludCB3cml0ZV9j YWNoZTsKICAgICAvKiBpZGUgcmVncyAqLwogICAgIHVpbnQ4X3QgZmVhdHVyZTsKICAgICB1 aW50OF90IGVycm9yOwpAQCAtNzg4LDYgKzc4OSw5IEBAIHN0YXRpYyB2b2lkIGlkZV9zZWN0 b3Jfd3JpdGUoSURFU3RhdGUgKnMKICAgICAgICAgaWRlX3RyYW5zZmVyX3N0YXJ0KHMsIHMt PmlvX2J1ZmZlciwgNTEyICogbjEsIGlkZV9zZWN0b3Jfd3JpdGUpOwogICAgIH0KICAgICBp ZGVfc2V0X3NlY3RvcihzLCBzZWN0b3JfbnVtICsgbik7CisKKyAgICBpZiAoIXMtPndyaXRl X2NhY2hlKQorICAgICAgICBiZHJ2X2ZsdXNoKHMtPmJzKTsKICAgICAKICNpZmRlZiBUQVJH RVRfSTM4NgogICAgIGlmICh3aW4ya19pbnN0YWxsX2hhY2sgJiYgKCgrK3MtPmlycV9jb3Vu dCAlIDE2KSA9PSAwKSkgewpAQCAtODYzLDYgKzg2NywxMCBAQCBzdGF0aWMgaW50IGlkZV93 cml0ZV9kbWFfY2IoSURFU3RhdGUgKnMsCiAgICAgICAgIHRyYW5zZmVyX3NpemUgLT0gbGVu OwogICAgICAgICBwaHlzX2FkZHIgKz0gbGVuOwogICAgIH0KKyAgICAvKiBFbnN1cmUgdGhl IGRhdGEgaGl0IGRpc2sgYmVmb3JlIHRlbGxpbmcgdGhlIGd1ZXN0IE9TIHNvLiAqLworICAg IGlmICghcy0+d3JpdGVfY2FjaGUpCisgICAgICAgIGJkcnZfZmx1c2gocy0+YnMpOworCiAg ICAgcmV0dXJuIHRyYW5zZmVyX3NpemUxIC0gdHJhbnNmZXJfc2l6ZTsKIH0KIApAQCAtMTY3 Miw3ICsxNjgwLDE1IEBAIHN0YXRpYyB2b2lkIGlkZV9pb3BvcnRfd3JpdGUodm9pZCAqb3Bh cXUKICAgICAgICAgICAgIC8qIFhYWDogdmFsaWQgZm9yIENEUk9NID8gKi8KICAgICAgICAg ICAgIHN3aXRjaChzLT5mZWF0dXJlKSB7CiAgICAgICAgICAgICBjYXNlIDB4MDI6IC8qIHdy aXRlIGNhY2hlIGVuYWJsZSAqLworICAgICAgICAgICAgICAgIHMtPndyaXRlX2NhY2hlID0g MTsKKyAgICAgICAgICAgICAgICBzLT5zdGF0dXMgPSBSRUFEWV9TVEFUIHwgU0VFS19TVEFU OworICAgICAgICAgICAgICAgIGlkZV9zZXRfaXJxKHMpOworICAgICAgICAgICAgICAgIGJy ZWFrOwogICAgICAgICAgICAgY2FzZSAweDgyOiAvKiB3cml0ZSBjYWNoZSBkaXNhYmxlICov CisgICAgICAgICAgICAgICAgcy0+d3JpdGVfY2FjaGUgPSAwOworICAgICAgICAgICAgICAg IHMtPnN0YXR1cyA9IFJFQURZX1NUQVQgfCBTRUVLX1NUQVQ7CisgICAgICAgICAgICAgICAg aWRlX3NldF9pcnEocyk7CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBj YXNlIDB4YWE6IC8qIHJlYWQgbG9vay1haGVhZCBlbmFibGUgKi8KICAgICAgICAgICAgIGNh c2UgMHg1NTogLyogcmVhZCBsb29rLWFoZWFkIGRpc2FibGUgKi8KICAgICAgICAgICAgICAg ICBzLT5zdGF0dXMgPSBSRUFEWV9TVEFUIHwgU0VFS19TVEFUOwpAQCAtMjA5MCw2ICsyMTA2 LDcgQEAgc3RhdGljIHZvaWQgaWRlX2luaXQyKElERVN0YXRlICppZGVfc3RhdAogICAgICAg ICBzLT5pcnEgPSBpcnE7CiAgICAgICAgIHMtPnNlY3Rvcl93cml0ZV90aW1lciA9IHFlbXVf bmV3X3RpbWVyKHZtX2Nsb2NrLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaWRlX3NlY3Rvcl93cml0ZV90aW1lcl9jYiwgcyk7CisgICAgICAg IHMtPndyaXRlX2NhY2hlID0gMDsKICAgICAgICAgaWRlX3Jlc2V0KHMpOwogICAgIH0KIH0K LS0tIHRvb2xzL2lvZW11L2Jsb2NrLWJvY2hzLmMuaGRwYXJtCTIwMDYtMDgtMTEgMDI6MjQ6 MDQuMDAwMDAwMDAwIC0wNDAwCisrKyB0b29scy9pb2VtdS9ibG9jay1ib2Nocy5jCTIwMDYt MDgtMTEgMDI6MjQ6MjcuMDAwMDAwMDAwIC0wNDAwCkBAIC05MSw3ICs5MSw3IEBAIHN0YXRp YyBpbnQgYm9jaHNfb3BlbihCbG9ja0RyaXZlclN0YXRlICoKICAgICBpbnQgZmQsIGk7CiAg ICAgc3RydWN0IGJvY2hzX2hlYWRlciBib2NoczsKIAotICAgIGZkID0gb3BlbihmaWxlbmFt ZSwgT19SRFdSIHwgT19CSU5BUlkgfCBPX0xBUkdFRklMRSB8IE9fU1lOQyk7CisgICAgZmQg PSBvcGVuKGZpbGVuYW1lLCBPX1JEV1IgfCBPX0JJTkFSWSB8IE9fTEFSR0VGSUxFKTsKICAg ICBpZiAoZmQgPCAwKSB7CiAgICAgICAgIGZkID0gb3BlbihmaWxlbmFtZSwgT19SRE9OTFkg fCBPX0JJTkFSWSB8IE9fTEFSR0VGSUxFKTsKICAgICAgICAgaWYgKGZkIDwgMCkKLS0tIHRv b2xzL2lvZW11L2Jsb2NrLmMuaGRwYXJtCTIwMDYtMDgtMTEgMDI6MjQ6MDQuMDAwMDAwMDAw IC0wNDAwCisrKyB0b29scy9pb2VtdS9ibG9jay5jCTIwMDYtMDgtMTEgMDI6MjQ6MzMuMDAw MDAwMDAwIC0wNDAwCkBAIC02ODUsNyArNjg1LDcgQEAgc3RhdGljIGludCByYXdfb3BlbihC bG9ja0RyaXZlclN0YXRlICpicwogICAgIGludCBydjsKICNlbmRpZgogCi0gICAgZmQgPSBv cGVuKGZpbGVuYW1lLCBPX1JEV1IgfCBPX0JJTkFSWSB8IE9fTEFSR0VGSUxFIHwgT19TWU5D KTsKKyAgICBmZCA9IG9wZW4oZmlsZW5hbWUsIE9fUkRXUiB8IE9fQklOQVJZIHwgT19MQVJH RUZJTEUpOwogICAgIGlmIChmZCA8IDApIHsKICAgICAgICAgZmQgPSBvcGVuKGZpbGVuYW1l LCBPX1JET05MWSB8IE9fQklOQVJZIHwgT19MQVJHRUZJTEUpOwogICAgICAgICBpZiAoZmQg PCAwKQotLS0gdG9vbHMvaW9lbXUvYmxvY2stY2xvb3AuYy5oZHBhcm0JMjAwNi0wOC0xMSAw MjoyNDowNC4wMDAwMDAwMDAgLTA0MDAKKysrIHRvb2xzL2lvZW11L2Jsb2NrLWNsb29wLmMJ MjAwNi0wOC0xMSAwMjoyNDozOS4wMDAwMDAwMDAgLTA0MDAKQEAgLTU1LDcgKzU1LDcgQEAg c3RhdGljIGludCBjbG9vcF9vcGVuKEJsb2NrRHJpdmVyU3RhdGUgKgogICAgIEJEUlZDbG9v cFN0YXRlICpzID0gYnMtPm9wYXF1ZTsKICAgICB1aW50MzJfdCBvZmZzZXRzX3NpemUsbWF4 X2NvbXByZXNzZWRfYmxvY2tfc2l6ZT0xLGk7CiAKLSAgICBzLT5mZCA9IG9wZW4oZmlsZW5h bWUsIE9fUkRPTkxZIHwgT19CSU5BUlkgfCBPX0xBUkdFRklMRSB8IE9fU1lOQyk7CisgICAg cy0+ZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JET05MWSB8IE9fQklOQVJZIHwgT19MQVJHRUZJ TEUpOwogICAgIGlmIChzLT5mZCA8IDApCiAgICAgICAgIHJldHVybiAtMTsKICAgICBicy0+ cmVhZF9vbmx5ID0gMTsKLS0tIHRvb2xzL2lvZW11L2Jsb2NrLWNvdy5jLmhkcGFybQkyMDA2 LTA4LTExIDAyOjI0OjA0LjAwMDAwMDAwMCAtMDQwMAorKysgdG9vbHMvaW9lbXUvYmxvY2st Y293LmMJMjAwNi0wOC0xMSAwMjoyNDo0NC4wMDAwMDAwMDAgLTA0MDAKQEAgLTY5LDcgKzY5 LDcgQEAgc3RhdGljIGludCBjb3dfb3BlbihCbG9ja0RyaXZlclN0YXRlICpicwogICAgIHN0 cnVjdCBjb3dfaGVhZGVyX3YyIGNvd19oZWFkZXI7CiAgICAgaW50NjRfdCBzaXplOwogCi0g ICAgZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JEV1IgfCBPX0JJTkFSWSB8IE9fTEFSR0VGSUxF IHwgT19TWU5DKTsKKyAgICBmZCA9IG9wZW4oZmlsZW5hbWUsIE9fUkRXUiB8IE9fQklOQVJZ IHwgT19MQVJHRUZJTEUpOwogICAgIGlmIChmZCA8IDApIHsKICAgICAgICAgZmQgPSBvcGVu KGZpbGVuYW1lLCBPX1JET05MWSB8IE9fQklOQVJZIHwgT19MQVJHRUZJTEUpOwogICAgICAg ICBpZiAoZmQgPCAwKQotLS0gdG9vbHMvaW9lbXUvYmxvY2stcWNvdy5jLmhkcGFybQkyMDA2 LTA4LTExIDAyOjI0OjA0LjAwMDAwMDAwMCAtMDQwMAorKysgdG9vbHMvaW9lbXUvYmxvY2st cWNvdy5jCTIwMDYtMDgtMTEgMDI6MjQ6NDkuMDAwMDAwMDAwIC0wNDAwCkBAIC05NSw3ICs5 NSw3IEBAIHN0YXRpYyBpbnQgcWNvd19vcGVuKEJsb2NrRHJpdmVyU3RhdGUgKmIKICAgICBp bnQgZmQsIGxlbiwgaSwgc2hpZnQ7CiAgICAgUUNvd0hlYWRlciBoZWFkZXI7CiAgICAgCi0g ICAgZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JEV1IgfCBPX0JJTkFSWSB8IE9fTEFSR0VGSUxF IHwgT19TWU5DKTsKKyAgICBmZCA9IG9wZW4oZmlsZW5hbWUsIE9fUkRXUiB8IE9fQklOQVJZ IHwgT19MQVJHRUZJTEUpOwogICAgIGlmIChmZCA8IDApIHsKICAgICAgICAgZmQgPSBvcGVu KGZpbGVuYW1lLCBPX1JET05MWSB8IE9fQklOQVJZIHwgT19MQVJHRUZJTEUpOwogICAgICAg ICBpZiAoZmQgPCAwKQotLS0gdG9vbHMvaW9lbXUvYmxvY2stdm1kay5jLmhkcGFybQkyMDA2 LTA4LTExIDAyOjI0OjA1LjAwMDAwMDAwMCAtMDQwMAorKysgdG9vbHMvaW9lbXUvYmxvY2st dm1kay5jCTIwMDYtMDgtMTEgMDI6MjQ6NTQuMDAwMDAwMDAwIC0wNDAwCkBAIC05Niw3ICs5 Niw3IEBAIHN0YXRpYyBpbnQgdm1ka19vcGVuKEJsb2NrRHJpdmVyU3RhdGUgKmIKICAgICB1 aW50MzJfdCBtYWdpYzsKICAgICBpbnQgbDFfc2l6ZTsKIAotICAgIGZkID0gb3BlbihmaWxl bmFtZSwgT19SRFdSIHwgT19CSU5BUlkgfCBPX0xBUkdFRklMRSB8IE9fU1lOQyk7CisgICAg ZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JEV1IgfCBPX0JJTkFSWSB8IE9fTEFSR0VGSUxFKTsK ICAgICBpZiAoZmQgPCAwKSB7CiAgICAgICAgIGZkID0gb3BlbihmaWxlbmFtZSwgT19SRE9O TFkgfCBPX0JJTkFSWSB8IE9fTEFSR0VGSUxFKTsKICAgICAgICAgaWYgKGZkIDwgMCkK --------------080005030704060500050105 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 --------------080005030704060500050105--