From: Toshikuni Fukaya Date: December 26 2012 7:23am Subject: [PATCH] use fallocate to create table List-Archive: http://lists.mysql.com/internals/38679 Message-Id: <50DAA5F1.6020706@cybozu.co.jp> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------020101040900040509040406" --------------020101040900040509040406 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Dear all, I made a patch for MySQL 5.5.28 to speed up InnoDB table space creation. I noticed that there are slow I/Os (consisting of many zero-fill writes and syncs) when creating tables. Linux kernels have the fallocate(2) system call, which guarantees that a given file region is zeroed and yields a performance improvement on supporting file systems. I measured a 10% speed up in table space creation in our application. Could you please accept my patch? If there is anything further I should do for this patch, please advise me. Regards, Toshikuni Fukaya --------------020101040900040509040406 Content-Type: text/plain; charset=Shift_JIS; name="mysql-5.5.28.20121226.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="mysql-5.5.28.20121226.diff" ZGlmZiAtTmFydSBteXNxbC01LjUuMjgub3JpZy9jb25maWcuaC5jbWFrZSBteXNxbC01LjUu MjgvY29uZmlnLmguY21ha2UKLS0tIG15c3FsLTUuNS4yOC5vcmlnL2NvbmZpZy5oLmNtYWtl CTIwMTItMTItMjYgMTM6MTA6MTguNjQxNzE0MjE0ICswOTAwCisrKyBteXNxbC01LjUuMjgv Y29uZmlnLmguY21ha2UJMjAxMi0xMi0yNiAxMzoxMTowNy4zMjUxMDIxODAgKzA5MDAKQEAg LTIwNiw2ICsyMDYsNyBAQAogI2NtYWtlZGVmaW5lIEhBVkVfUE9MTCAxCiAjY21ha2VkZWZp bmUgSEFWRV9QT1JUX0NSRUFURSAxCiAjY21ha2VkZWZpbmUgSEFWRV9QT1NJWF9GQUxMT0NB VEUgMQorI2NtYWtlZGVmaW5lIEhBVkVfRkFMTE9DQVRFIDEKICNjbWFrZWRlZmluZSBIQVZF X1BSRUFEIDEKICNjbWFrZWRlZmluZSBIQVZFX1BBVVNFX0lOU1RSVUNUSU9OIDEKICNjbWFr ZWRlZmluZSBIQVZFX0ZBS0VfUEFVU0VfSU5TVFJVQ1RJT04gMQpkaWZmIC1OYXJ1IG15c3Fs LTUuNS4yOC5vcmlnL2NvbmZpZ3VyZS5jbWFrZSBteXNxbC01LjUuMjgvY29uZmlndXJlLmNt YWtlCi0tLSBteXNxbC01LjUuMjgub3JpZy9jb25maWd1cmUuY21ha2UJMjAxMi0xMi0yNiAx MzoxMDoxOC42NDE3MTQyMTQgKzA5MDAKKysrIG15c3FsLTUuNS4yOC9jb25maWd1cmUuY21h a2UJMjAxMi0xMi0yNiAxMzoyNDo1OS41NTQ2Mzk2MzkgKzA5MDAKQEAgLTM4Nyw2ICszODcs NyBAQAogQ0hFQ0tfRlVOQ1RJT05fRVhJU1RTIChwb2xsIEhBVkVfUE9MTCkKIENIRUNLX0ZV TkNUSU9OX0VYSVNUUyAocG9ydF9jcmVhdGUgSEFWRV9QT1JUX0NSRUFURSkKIENIRUNLX0ZV TkNUSU9OX0VYSVNUUyAocG9zaXhfZmFsbG9jYXRlIEhBVkVfUE9TSVhfRkFMTE9DQVRFKQor Q0hFQ0tfRlVOQ1RJT05fRVhJU1RTIChmYWxsb2NhdGUgSEFWRV9GQUxMT0NBVEUpCiBDSEVD S19GVU5DVElPTl9FWElTVFMgKHByZWFkIEhBVkVfUFJFQUQpCiBDSEVDS19GVU5DVElPTl9F WElTVFMgKHB0aHJlYWRfYXR0cl9jcmVhdGUgSEFWRV9QVEhSRUFEX0FUVFJfQ1JFQVRFKQog Q0hFQ0tfRlVOQ1RJT05fRVhJU1RTIChwdGhyZWFkX2F0dHJfZ2V0c3RhY2tzaXplIEhBVkVf UFRIUkVBRF9BVFRSX0dFVFNUQUNLU0laRSkKZGlmZiAtTmFydSBteXNxbC01LjUuMjgub3Jp Zy9zdG9yYWdlL2lubm9iYXNlL29zL29zMGZpbGUuYyBteXNxbC01LjUuMjgvc3RvcmFnZS9p bm5vYmFzZS9vcy9vczBmaWxlLmMKLS0tIG15c3FsLTUuNS4yOC5vcmlnL3N0b3JhZ2UvaW5u b2Jhc2Uvb3Mvb3MwZmlsZS5jCTIwMTItMTItMjYgMTM6MTA6MTguNzA5NzEzMzYwICswOTAw CisrKyBteXNxbC01LjUuMjgvc3RvcmFnZS9pbm5vYmFzZS9vcy9vczBmaWxlLmMJMjAxMi0x Mi0yNiAxNjoxNzo0MS41MzE5Mjk2MzEgKzA5MDAKQEAgLTE5NTcsNiArMTk1NywxMiBAQAog CWN1cnJlbnRfc2l6ZSA9IDA7CiAJZGVzaXJlZF9zaXplID0gKGliX2ludDY0X3Qpc2l6ZSAr ICgoKGliX2ludDY0X3Qpc2l6ZV9oaWdoKSA8PCAzMik7CiAKKyNpZmRlZiBIQVZFX0ZBTExP Q0FURQorCWlmIChmYWxsb2NhdGUoZmlsZSwgMCwgMCwgZGVzaXJlZF9zaXplID09IDApKSB7 CisJCXJldHVybiAoVFJVRSk7CisJfQorI2VuZGlmCisKIAkvKiBXcml0ZSB1cCB0byAxIG1l Z2FieXRlIGF0IGEgdGltZS4gKi8KIAlidWZfc2l6ZSA9IHV0X21pbig2NCwgKHVsaW50KSAo ZGVzaXJlZF9zaXplIC8gVU5JVl9QQUdFX1NJWkUpKQogCQkqIFVOSVZfUEFHRV9TSVpFOwo= --------------020101040900040509040406--