Skip site navigation (1)Skip section navigation (2)
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>