Date: Thu, 1 Aug 2013 16:19:52 +0200 From: Zbigniew Bodek <zbb@semihalf.com> To: "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org> Cc: ray@freebsd.org, Alan Cox <alc@cs.rice.edu> Subject: Re: New pmap-v6.c features and improvements Message-ID: <CAG7dG%2BwoHUZp8M_KSMkDy_YNyoC3sLT9qwY_orVqk%2BAoeFpNEA@mail.gmail.com> In-Reply-To: <51F68F58.8060600@semihalf.com> References: <519B6B1C.9060008@semihalf.com> <20130522184232.GA437@jail.io> <519E0D62.5030708@semihalf.com> <51CC4CC1.4020509@semihalf.com> <51D57456.9080504@semihalf.com> <B6F68E56-7452-44D4-9C9D-195221B06380@bsdimp.com> <51F68F58.8060600@semihalf.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--047d7b6d817c23711004e2e389b7 Content-Type: text/plain; charset=ISO-8859-1 2013/7/29 Zbyszek Bodek <zbb@semihalf.com> > On 04.07.2013 19:34, Warner Losh wrote: > > > > On Jul 4, 2013, at 7:10 AM, Zbyszek Bodek wrote: > > > >> On 27.06.2013 16:31, Zbyszek Bodek wrote: > >>> On 23.05.2013 14:36, Zbyszek Bodek wrote: > >>>> On 22.05.2013 20:42, Ruslan Bukin wrote: > >>>>> On Tue, May 21, 2013 at 02:39:56PM +0200, Zbyszek Bodek wrote: > >>>>>> Hello Everyone, > >>>>>> > >>>>>> I would like to introduce another pack of patches for pmap-v6.c and > >>>>>> related, that we created as a part of Semihalf work on Superpages > >>>>>> support. > >>>>>> > >>>>>> The patches include some major changes like: > >>>>>> > >>>>>> - Switch to AP[1:0] access permissions model > >>>>>> - Transition of the mapping related flags to PTE (stop using PVF_ > flags > >>>>>> in pv_entry) > >>>>>> - Rework of the pmap_enter_locked() function > >>>>>> - pmap code optimizations > >>>>>> > >>>>>> And some minor clean-ups: > >>>>>> > >>>>>> - Get rid of the VERBOSE_INIT_ARM option > >>>>>> - Clean-ups, style and naming improvements to pmap > >>>>>> > >>>>>> Please check out the attachment for details. > >>>>>> > >>>>>> I will be happy to answer your questions and doubts if any. > >>>>>> > >>>>>> Best regards > >>>>>> Zbyszek Bodek > >>>>> > >>>>> I tested new patches with exynos5 and everything is OK. > >>>>> (I mean all works as usual) > >>>>> > >>>> > >>>> Hello. > >>>> > >>>> I'm happy to announce that code has been integrated to the FreeBSD > HEAD. > >>>> Great thanks your help! > >>>> > >>> > >>> Hello Everyone, > >>> > >>> We have two micro patches for pmap-v6.c containing fix for 'modified' > >>> bit emulation and removal of the redundant PGA_WRITEABLE clearing. > >>> > >>> Please check out the attachment. > >>> > >>> These two are minimal changes and we would like to commit them soon, so > >>> we would be grateful if you could test them on your ARMv6/v7 platforms > >>> and give us your remarks. > >>> > >> > >> Hello, > >> > >> Because there were no objections, we've integrated the patches: > >> > >> http://svnweb.freebsd.org/base?view=revision&revision=252694 > >> http://svnweb.freebsd.org/base?view=revision&revision=252695 > > > Hello Everyone, > > I'm sending another set of fixes for pmap-v6.c > Please see attachment. > > 0012 - Removal of the costly, frequent sweeping through the > pv_entries whenever pmap_nuke_pv(), pmap_modify_pv(), etc. > are called. This also makes order with clearing PGA_WRITEABLE > aflag as well as with the pmap_statistics related to the > wired_count. > 0013 - Fix for pamp_set_prot() where not all of the protection bits were > cleared before the actual configuration. L2_XN is not icluded to > the L2_S_PROT mask to maintain consistency between PROT_MASKS for > L2 and L1 descriptors - contain only kernel/user and > read/write permissions bits. > 0014 - Fix for pmap_change_wiring() where "wired" indicator of type > boolean was being used as a "wired flag" passed to > pmap_modify_pv() which was obviously not a valid PVF_WIRED flag. > > Please test those patches on your ARM-based machines and send your > feedback. We will also appreciate your reviews and remarks. > > Thank you in advance for your help. > > Hello, Are there any updates in this topic? In addition, I'm attaching two more minor improvements, this time: 0015 - small clean-ups in pmap_clearbit() that in general gives one relevant improvement which is to skip redundant "dirty" setting for a page. 0016 - removal of the unused pv_kva field from the md_page structure If there are no objections to that and earlier presented changes we would like to integrate them to the HEAD soon. Best regards Zbyszek Bodek --047d7b6d817c23711004e2e389b7 Content-Type: application/octet-stream; name="0015-Simplify-and-clean-up-redundant-statements-from-ARMv.patch" Content-Disposition: attachment; filename="0015-Simplify-and-clean-up-redundant-statements-from-ARMv.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hju1ukq03 RnJvbSBmOTJmNjgyMDJkNmRhZTRiMzBkNmJkODhjYTc5YjNiMjI2ZWEwY2RhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBaYmlnbmlldyBCb2RlayA8emJiQHNlbWloYWxmLmNvbT4KRGF0 ZTogTW9uLCAyOSBKdWwgMjAxMyAxOToxODoyMiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMS8yXSBT aW1wbGlmeSBhbmQgY2xlYW4tdXAgcmVkdW5kYW50IHN0YXRlbWVudHMgZnJvbSBBUk12Ni92Nwog cG1hcF9jbGVhcmJpdCgpCgpQVkZfTU9EIGlzIGFuIHVudXNlZCBmbGFnIGtlcHQganVzdCB0byBp bmRpY2F0ZSB3aGF0IGlzIHRvIGJlIGNsZWFyZWQKc2luY2UgUFRFJ3MgTDJfQVBYIHNob3dzIG1v ZGlmaWNhdGlvbiBzdGF0dXMuIFdoYXQgbW9yZSwgdGhlcmUgaXMgbm8gbmVlZApmb3IgY2FsbGlu ZyB2bV9wYWdlX2RpcnR5KCkgd2hlbiBjbGVhcmluZyAibW9kaWZpZWQiIGZsYWcgYXMgaXQgaXMg YWxyZWFkeQpzZXQgZm9yIHRoYXQgcGFnZSBpbiBwbWFwX2ZhdWx0X2ZpeHVwKCkgb3IgcG1hcF9l bnRlcigpIHRoYW5rcyB0bwoibW9kaWZpZWQiIGJpdCBlbXVsYXRpb24uClRoZXJlIGlzIGFsc28g bm8gbmVlZCBmb3IgY2hlY2tpbmcgUFRFJ3MgInJlZmVyZW5jZWQiIG9yICJ3cml0ZWFibGUiIGZs YWdzLgpJZiB0aGVyZSBpcyBhIHJlcXVlc3QgdG8gY2xlYXIgYSBwYXJ0aWN1bGFyIGZsYWcsIGp1 c3QgZG8gaXQuCgpTdWJtaXR0ZWQgYnk6ICAgWmJpZ25pZXcgQm9kZWsgPHpiYkBzZW1paGFsZi5j b20+ClNwb25zb3JlZCBieTogICBUaGUgRnJlZUJTRCBGb3VuZGF0aW9uLCBTZW1paGFsZgotLS0K IHN5cy9hcm0vYXJtL3BtYXAtdjYuYyB8IDkgKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMiBp bnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3N5cy9hcm0vYXJtL3Bt YXAtdjYuYyBiL3N5cy9hcm0vYXJtL3BtYXAtdjYuYwppbmRleCAzMTQyZjU2Li4yODUyZjEyIDEw MDY0NAotLS0gYS9zeXMvYXJtL2FybS9wbWFwLXY2LmMKKysrIGIvc3lzL2FybS9hcm0vcG1hcC12 Ni5jCkBAIC05MDAsOSArOTAwLDYgQEAgcG1hcF9jbGVhcmJpdChzdHJ1Y3Qgdm1fcGFnZSAqbSwg dV9pbnQgbWFza2JpdHMpCiAKIAlyd193bG9jaygmcHZoX2dsb2JhbF9sb2NrKTsKIAotCWlmICht YXNrYml0cyAmIFBWRl9XUklURSkKLQkJbWFza2JpdHMgfD0gUFZGX01PRDsKLQogCWlmIChUQUlM UV9FTVBUWSgmbS0+bWQucHZfbGlzdCkpIHsKIAkJcndfd3VubG9jaygmcHZoX2dsb2JhbF9sb2Nr KTsKIAkJcmV0dXJuICgwKTsKQEAgLTkyNCwxNCArOTIxLDEyIEBAIHBtYXBfY2xlYXJiaXQoc3Ry dWN0IHZtX3BhZ2UgKm0sIHVfaW50IG1hc2tiaXRzKQogCQlwdGVwID0gJmwyYi0+bDJiX2t2YVts MnB0ZV9pbmRleCh2YSldOwogCQlucHRlID0gb3B0ZSA9ICpwdGVwOwogCi0JCWlmICgobWFza2Jp dHMgJiAoUFZGX1dSSVRFfFBWRl9NT0QpKSAmJiBMMl9TX1dSSVRBQkxFKG9wdGUpKSB7Ci0JCQl2 bV9wYWdlX2RpcnR5KG0pOwotCisJCWlmIChtYXNrYml0cyAmIChQVkZfV1JJVEUgfCBQVkZfTU9E KSkgewogCQkJLyogbWFrZSB0aGUgcHRlIHJlYWQgb25seSAqLwogCQkJbnB0ZSB8PSBMMl9BUFg7 CiAJCX0KIAotCQlpZiAoKG1hc2tiaXRzICYgUFZGX1JFRikgJiYgTDJfU19SRUZFUkVOQ0VEKG9w dGUpKSB7CisJCWlmIChtYXNrYml0cyAmIFBWRl9SRUYpIHsKIAkJCS8qCiAJCQkgKiBDbGVhciBy ZWZlcmVuY2VkIGZsYWcgaW4gUFRFIHNvIHRoYXQgd2UKIAkJCSAqIHdpbGwgdGFrZSBhIGZsYWcg ZmF1bHQgdGhlIG5leHQgdGltZSB0aGUgbWFwcGluZwotLSAKMS44LjIKCg== --047d7b6d817c23711004e2e389b7 Content-Type: application/octet-stream; name="0016-Stop-using-redundant-pv_kva-field-in-md_page-structu.patch" Content-Disposition: attachment; filename="0016-Stop-using-redundant-pv_kva-field-in-md_page-structu.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hju1urxm4 RnJvbSAyNzhkNThjNDFkMjQxNDc0MjhlMWE5YjkxYWY0OGRlOTJkMDA3MWE2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBaYmlnbmlldyBCb2RlayA8emJiQHNlbWloYWxmLmNvbT4KRGF0 ZTogV2VkLCAzMSBKdWwgMjAxMyAxOToxOToyOCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBT dG9wIHVzaW5nIHJlZHVuZGFudCBwdl9rdmEgZmllbGQgaW4gbWRfcGFnZSBzdHJ1Y3R1cmUKIGZv ciBBUk12Ni92NwoKVGhpcyB2YXJpYWJsZSBpcyBjb21wbGl0ZWx5IHVzZWxlc3MgaW4gY3VycmVu dCBwbWFwLXY2LmMgaW1wbGVtZW50YXRpb24sCmhlbmNlIGRlbGV0ZSBpdCB0byBzYXZlIHNvbWUg c3BhY2Ugb24gZWFjaCB2bV9wYWdlLgoKU3VibWl0dGVkIGJ5OiAgIFpiaWduaWV3IEJvZGVrIDx6 YmJAc2VtaWhhbGYuY29tPgpTcG9uc29yZWQgYnk6ICAgVGhlIEZyZWVCU0QgRm91bmRhdGlvbiwg U2VtaWhhbGYKLS0tCiBzeXMvYXJtL2FybS9wbWFwLXY2LmMgIHwgMiArLQogc3lzL2FybS9pbmNs dWRlL3BtYXAuaCB8IDIgKysKIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3lzL2FybS9hcm0vcG1hcC12Ni5jIGIvc3lzL2FybS9h cm0vcG1hcC12Ni5jCmluZGV4IDI4NTJmMTIuLmFlZjRjZTMgMTAwNjQ0Ci0tLSBhL3N5cy9hcm0v YXJtL3BtYXAtdjYuYworKysgYi9zeXMvYXJtL2FybS9wbWFwLXY2LmMKQEAgLTQzNjgsNiArNDM2 OCw2IEBAIHBtYXBfcGFnZV9zZXRfbWVtYXR0cih2bV9wYWdlX3QgbSwgdm1fbWVtYXR0cl90IG1h KQogCSAqIHVuY2FjaGVhYmxlLCBiZWluZyBjYXJlZnVsIHRvIHN5bmMgY2FjaGVzIGFuZCBQVEVz IChhbmQgbWF5YmUKIAkgKiBpbnZhbGlkYXRlIFRMQj8pIGZvciBhbnkgY3VycmVudCBtYXBwaW5n IGl0IG1vZGlmaWVzLgogCSAqLwotCWlmIChtLT5tZC5wdl9rdmEgIT0gMCB8fCBUQUlMUV9GSVJT VCgmbS0+bWQucHZfbGlzdCkgIT0gTlVMTCkKKwlpZiAoVEFJTFFfRklSU1QoJm0tPm1kLnB2X2xp c3QpICE9IE5VTEwpCiAJCXBhbmljKCJDYW4ndCBjaGFuZ2UgbWVtYXR0ciBvbiBwYWdlIHdpdGgg ZXhpc3RpbmcgbWFwcGluZ3MiKTsKIH0KZGlmZiAtLWdpdCBhL3N5cy9hcm0vaW5jbHVkZS9wbWFw LmggYi9zeXMvYXJtL2luY2x1ZGUvcG1hcC5oCmluZGV4IGI0MTYxNjkuLjc4MGVkOWIgMTAwNjQ0 Ci0tLSBhL3N5cy9hcm0vaW5jbHVkZS9wbWFwLmgKKysrIGIvc3lzL2FybS9pbmNsdWRlL3BtYXAu aApAQCAtMTIxLDcgKzEyMSw5IEBAIHN0cnVjdAlwdl9jaHVuazsKIHN0cnVjdAltZF9wYWdlIHsK IAlpbnQgcHZoX2F0dHJzOwogCXZtX21lbWF0dHJfdAkgcHZfbWVtYXR0cjsKKyNpZiAoQVJNX01N VV9WNiArIEFSTV9NTVVfVjcpID09IDAKIAl2bV9vZmZzZXRfdCBwdl9rdmE7CQkvKiBmaXJzdCBr ZXJuZWwgVkEgbWFwcGluZyAqLworI2VuZGlmCiAJVEFJTFFfSEVBRCgscHZfZW50cnkpCXB2X2xp c3Q7CiB9OwogCi0tIAoxLjguMgoK --047d7b6d817c23711004e2e389b7--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG7dG%2BwoHUZp8M_KSMkDy_YNyoC3sLT9qwY_orVqk%2BAoeFpNEA>