From owner-freebsd-arch@FreeBSD.ORG Fri Aug 15 13:20:31 2014 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1A3847DD for ; Fri, 15 Aug 2014 13:20:31 +0000 (UTC) Received: from mail-qa0-x22a.google.com (mail-qa0-x22a.google.com [IPv6:2607:f8b0:400d:c00::22a]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CC6A62C7F for ; Fri, 15 Aug 2014 13:20:30 +0000 (UTC) Received: by mail-qa0-f42.google.com with SMTP id j15so2059263qaq.15 for ; Fri, 15 Aug 2014 06:20:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=HDubMFhgV7xoFe4W6wqacq52TEDyi+XPggZG87QbuOk=; b=G5/E6ceQBVoYFiVLPO9X109jfWVlv1vr7wZnSuw5UYflTa6FJuJkcWNLSAvg0RuaDF 5y6g6Ola2nBUb3+RvVl8DptrIMiPr5i+hn6sGF+yLtqbHcXGPKJnxV2p5I1e28UedqNs vxMI4XhFi2iGOUMoaHggcTr84q6Lu8Uo2m68U8zlDHFvYvaEr5Oocx4AU+i6ATEfbldX em7jjrl7tmNIlJNnq5OfK1mrpzzCrAfOLHMtcJyRifwNqBGouH7y3i6YrmqeYqPCoJRu SSGlILfiki2+HQiwzCC9cisWEeFcvVGD67MeK38a1I+YN2hEIXqjw7k/Nac9QhjztgXo nKAg== MIME-Version: 1.0 X-Received: by 10.140.29.138 with SMTP id b10mr26230129qgb.15.1408108829795; Fri, 15 Aug 2014 06:20:29 -0700 (PDT) Received: by 10.140.33.137 with HTTP; Fri, 15 Aug 2014 06:20:29 -0700 (PDT) Date: Fri, 15 Aug 2014 15:20:29 +0200 Message-ID: Subject: PMAP_LOCK_DESTROY() vs. vmspace UMA_ZONE_NOFREE From: Svatopluk Kraus To: freebsd-arch@freebsd.org Content-Type: multipart/mixed; boundary=001a113a75a29b3e060500aae22f X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Aug 2014 13:20:31 -0000 --001a113a75a29b3e060500aae22f Content-Type: text/plain; charset=UTF-8 Hi, I was playing with ports/benchmarks/forkbomb while testing my and Michal's armv6 pmap based on i386 one when I found - IMHO - sketelot in the closet. i386, xen, and sparc64 pmaps call PMAP_LOCK_DESTROY() in pmap_pinit() if some allocation failed. As vmspace (struct pmap is part of it) uma zone is created with UMA_ZONE_NOFREE flag and PMAP_LOCK_INIT() is called from vmspace_zinit() initiator, PMAP_LOCK_DESTROY() should be called from nowhere. The pmap_c_patch.txt is attached to solve it. IMHO, I think that definition of PMAP_LOCK_DESTROY() is misleading a little as PMAP_LOCK_DESTROY() cannot be used anywhere as long as UMA_ZONE_NOFREE flag is used. The pmap_all_patch.txt is attach to wipe PMAP_LOCK_DESTROY() out of source tree. Svata --001a113a75a29b3e060500aae22f Content-Type: text/plain; charset=US-ASCII; name="pmap_c_patch.txt" Content-Disposition: attachment; filename="pmap_c_patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hyvjlr090 SW5kZXg6IHN5cy9pMzg2L2kzODYvcG1hcC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9pMzg2L2kzODYv cG1hcC5jCShyZXZpc2lvbiAyNzAwMjApCisrKyBzeXMvaTM4Ni9pMzg2L3BtYXAuYwkod29ya2lu ZyBjb3B5KQpAQCAtMTc1NSwxMCArMTc1NSw4IEBACiAJICovCiAJaWYgKHBtYXAtPnBtX3BkaXIg PT0gTlVMTCkgewogCQlwbWFwLT5wbV9wZGlyID0gKHBkX2VudHJ5X3QgKilrdmFfYWxsb2MoTkJQ VEQpOwotCQlpZiAocG1hcC0+cG1fcGRpciA9PSBOVUxMKSB7Ci0JCQlQTUFQX0xPQ0tfREVTVFJP WShwbWFwKTsKKwkJaWYgKHBtYXAtPnBtX3BkaXIgPT0gTlVMTCkKIAkJCXJldHVybiAoMCk7Ci0J CX0KICNpZmRlZiBQQUUKIAkJcG1hcC0+cG1fcGRwdCA9IHVtYV96YWxsb2MocGRwdHpvbmUsIE1f V0FJVE9LIHwgTV9aRVJPKTsKIAkJS0FTU0VSVCgoKHZtX29mZnNldF90KXBtYXAtPnBtX3BkcHQg JgpJbmRleDogc3lzL2kzODYveGVuL3BtYXAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvaTM4Ni94ZW4v cG1hcC5jCShyZXZpc2lvbiAyNzAwMjApCisrKyBzeXMvaTM4Ni94ZW4vcG1hcC5jCSh3b3JraW5n IGNvcHkpCkBAIC0xNDU5LDcgKzE0NTksNiBAQAogCWlmIChwbWFwLT5wbV9wZGlyID09IE5VTEwp IHsKIAkJcG1hcC0+cG1fcGRpciA9IChwZF9lbnRyeV90ICopa3ZhX2FsbG9jKE5CUFREKTsKIAkJ aWYgKHBtYXAtPnBtX3BkaXIgPT0gTlVMTCkgewotCQkJUE1BUF9MT0NLX0RFU1RST1kocG1hcCk7 CiAjaWZkZWYgSEFNRklTVEVEX0xPQ0tJTkcKIAkJCW10eF91bmxvY2soJmNyZWF0ZWRlbGV0ZV9s b2NrKTsKICNlbmRpZgpJbmRleDogc3lzL3NwYXJjNjQvc3BhcmM2NC9wbWFwLmMKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gc3lzL3NwYXJjNjQvc3BhcmM2NC9wbWFwLmMJKHJldmlzaW9uIDI3MDAyMCkKKysrIHN5 cy9zcGFyYzY0L3NwYXJjNjQvcG1hcC5jCSh3b3JraW5nIGNvcHkpCkBAIC0xMjExLDExICsxMjEx LDkgQEAKIAkgKi8KIAlpZiAocG0tPnBtX3RzYiA9PSBOVUxMKSB7CiAJCXBtLT5wbV90c2IgPSAo c3RydWN0IHR0ZSAqKWt2YV9hbGxvYyhUU0JfQlNJWkUpOwotCQlpZiAocG0tPnBtX3RzYiA9PSBO VUxMKSB7Ci0JCQlQTUFQX0xPQ0tfREVTVFJPWShwbSk7CisJCWlmIChwbS0+cG1fdHNiID09IE5V TEwpCiAJCQlyZXR1cm4gKDApOwogCQl9Ci0JfQogCiAJLyoKIAkgKiBBbGxvY2F0ZSBhbiBvYmpl Y3QgZm9yIGl0Lgo= --001a113a75a29b3e060500aae22f Content-Type: text/plain; charset=US-ASCII; name="pmap_all_patch.txt" Content-Disposition: attachment; filename="pmap_all_patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hyvjlvdd1 SW5kZXg6IHN5cy9hbWQ2NC9pbmNsdWRlL3BtYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvYW1kNjQv aW5jbHVkZS9wbWFwLmgJKHJldmlzaW9uIDI3MDAyMCkKKysrIHN5cy9hbWQ2NC9pbmNsdWRlL3Bt YXAuaAkod29ya2luZyBjb3B5KQpAQCAtMzI2LDcgKzMyNiw2IEBACiAjZGVmaW5lCVBNQVBfTE9D SyhwbWFwKQkJbXR4X2xvY2soJihwbWFwKS0+cG1fbXR4KQogI2RlZmluZQlQTUFQX0xPQ0tfQVNT RVJUKHBtYXAsIHR5cGUpIFwKIAkJCQltdHhfYXNzZXJ0KCYocG1hcCktPnBtX210eCwgKHR5cGUp KQotI2RlZmluZQlQTUFQX0xPQ0tfREVTVFJPWShwbWFwKQltdHhfZGVzdHJveSgmKHBtYXApLT5w bV9tdHgpCiAjZGVmaW5lCVBNQVBfTE9DS19JTklUKHBtYXApCW10eF9pbml0KCYocG1hcCktPnBt X210eCwgInBtYXAiLCBcCiAJCQkJICAgIE5VTEwsIE1UWF9ERUYgfCBNVFhfRFVQT0spCiAjZGVm aW5lCVBNQVBfTE9DS0VEKHBtYXApCW10eF9vd25lZCgmKHBtYXApLT5wbV9tdHgpCkluZGV4OiBz eXMvYXJtL2luY2x1ZGUvcG1hcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9hcm0vaW5jbHVkZS9wbWFw LmgJKHJldmlzaW9uIDI3MDAyMCkKKysrIHN5cy9hcm0vaW5jbHVkZS9wbWFwLmgJKHdvcmtpbmcg Y29weSkKQEAgLTE3Niw3ICsxNzYsNiBAQAogI2RlZmluZQlQTUFQX0FTU0VSVF9MT0NLRUQocG1h cCkgXAogCQkJCW10eF9hc3NlcnQoJihwbWFwKS0+cG1fbXR4LCBNQV9PV05FRCkKICNkZWZpbmUJ UE1BUF9MT0NLKHBtYXApCQltdHhfbG9jaygmKHBtYXApLT5wbV9tdHgpCi0jZGVmaW5lCVBNQVBf TE9DS19ERVNUUk9ZKHBtYXApCW10eF9kZXN0cm95KCYocG1hcCktPnBtX210eCkKICNkZWZpbmUJ UE1BUF9MT0NLX0lOSVQocG1hcCkJbXR4X2luaXQoJihwbWFwKS0+cG1fbXR4LCAicG1hcCIsIFwK IAkJCQkgICAgTlVMTCwgTVRYX0RFRiB8IE1UWF9EVVBPSykKICNkZWZpbmUJUE1BUF9PV05FRChw bWFwKQltdHhfb3duZWQoJihwbWFwKS0+cG1fbXR4KQpJbmRleDogc3lzL2kzODYvaTM4Ni9wbWFw LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gc3lzL2kzODYvaTM4Ni9wbWFwLmMJKHJldmlzaW9uIDI3MDAyMCkK KysrIHN5cy9pMzg2L2kzODYvcG1hcC5jCSh3b3JraW5nIGNvcHkpCkBAIC0xNzU1LDEwICsxNzU1 LDggQEAKIAkgKi8KIAlpZiAocG1hcC0+cG1fcGRpciA9PSBOVUxMKSB7CiAJCXBtYXAtPnBtX3Bk aXIgPSAocGRfZW50cnlfdCAqKWt2YV9hbGxvYyhOQlBURCk7Ci0JCWlmIChwbWFwLT5wbV9wZGly ID09IE5VTEwpIHsKLQkJCVBNQVBfTE9DS19ERVNUUk9ZKHBtYXApOworCQlpZiAocG1hcC0+cG1f cGRpciA9PSBOVUxMKQogCQkJcmV0dXJuICgwKTsKLQkJfQogI2lmZGVmIFBBRQogCQlwbWFwLT5w bV9wZHB0ID0gdW1hX3phbGxvYyhwZHB0em9uZSwgTV9XQUlUT0sgfCBNX1pFUk8pOwogCQlLQVNT RVJUKCgodm1fb2Zmc2V0X3QpcG1hcC0+cG1fcGRwdCAmCkluZGV4OiBzeXMvaTM4Ni9pbmNsdWRl L3BtYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvaTM4Ni9pbmNsdWRlL3BtYXAuaAkocmV2aXNpb24g MjcwMDIwKQorKysgc3lzL2kzODYvaW5jbHVkZS9wbWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4 Niw3ICszODYsNiBAQAogI2RlZmluZQlQTUFQX0xPQ0socG1hcCkJCW10eF9sb2NrKCYocG1hcCkt PnBtX210eCkKICNkZWZpbmUJUE1BUF9MT0NLX0FTU0VSVChwbWFwLCB0eXBlKSBcCiAJCQkJbXR4 X2Fzc2VydCgmKHBtYXApLT5wbV9tdHgsICh0eXBlKSkKLSNkZWZpbmUJUE1BUF9MT0NLX0RFU1RS T1kocG1hcCkJbXR4X2Rlc3Ryb3koJihwbWFwKS0+cG1fbXR4KQogI2RlZmluZQlQTUFQX0xPQ0tf SU5JVChwbWFwKQltdHhfaW5pdCgmKHBtYXApLT5wbV9tdHgsICJwbWFwIiwgXAogCQkJCSAgICBO VUxMLCBNVFhfREVGIHwgTVRYX0RVUE9LKQogI2RlZmluZQlQTUFQX0xPQ0tFRChwbWFwKQltdHhf b3duZWQoJihwbWFwKS0+cG1fbXR4KQpJbmRleDogc3lzL2kzODYveGVuL3BtYXAuYwo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBzeXMvaTM4Ni94ZW4vcG1hcC5jCShyZXZpc2lvbiAyNzAwMjApCisrKyBzeXMvaTM4 Ni94ZW4vcG1hcC5jCSh3b3JraW5nIGNvcHkpCkBAIC0xNDU5LDcgKzE0NTksNiBAQAogCWlmIChw bWFwLT5wbV9wZGlyID09IE5VTEwpIHsKIAkJcG1hcC0+cG1fcGRpciA9IChwZF9lbnRyeV90ICop a3ZhX2FsbG9jKE5CUFREKTsKIAkJaWYgKHBtYXAtPnBtX3BkaXIgPT0gTlVMTCkgewotCQkJUE1B UF9MT0NLX0RFU1RST1kocG1hcCk7CiAjaWZkZWYgSEFNRklTVEVEX0xPQ0tJTkcKIAkJCW10eF91 bmxvY2soJmNyZWF0ZWRlbGV0ZV9sb2NrKTsKICNlbmRpZgpJbmRleDogc3lzL21pcHMvaW5jbHVk ZS9wbWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvaW5jbHVkZS9wbWFwLmgJKHJldmlzaW9u IDI3MDAyMCkKKysrIHN5cy9taXBzL2luY2x1ZGUvcG1hcC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x MDYsNyArMTA2LDYgQEAKIAogI2RlZmluZQlQTUFQX0xPQ0socG1hcCkJCW10eF9sb2NrKCYocG1h cCktPnBtX210eCkKICNkZWZpbmUJUE1BUF9MT0NLX0FTU0VSVChwbWFwLCB0eXBlKQltdHhfYXNz ZXJ0KCYocG1hcCktPnBtX210eCwgKHR5cGUpKQotI2RlZmluZQlQTUFQX0xPQ0tfREVTVFJPWShw bWFwKSBtdHhfZGVzdHJveSgmKHBtYXApLT5wbV9tdHgpCiAjZGVmaW5lCVBNQVBfTE9DS19JTklU KHBtYXApCW10eF9pbml0KCYocG1hcCktPnBtX210eCwgInBtYXAiLCBcCiAJCQkJICAgIE5VTEws IE1UWF9ERUYpCiAjZGVmaW5lCVBNQVBfTE9DS0VEKHBtYXApCW10eF9vd25lZCgmKHBtYXApLT5w bV9tdHgpCkluZGV4OiBzeXMvcG93ZXJwYy9pbmNsdWRlL3BtYXAuaAo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBz eXMvcG93ZXJwYy9pbmNsdWRlL3BtYXAuaAkocmV2aXNpb24gMjcwMDIwKQorKysgc3lzL3Bvd2Vy cGMvaW5jbHVkZS9wbWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw3ICsyMTMsNiBAQAogI2Rl ZmluZQlQTUFQX0xPQ0socG1hcCkJCW10eF9sb2NrKCYocG1hcCktPnBtX210eCkKICNkZWZpbmUJ UE1BUF9MT0NLX0FTU0VSVChwbWFwLCB0eXBlKSBcCiAJCQkJbXR4X2Fzc2VydCgmKHBtYXApLT5w bV9tdHgsICh0eXBlKSkKLSNkZWZpbmUJUE1BUF9MT0NLX0RFU1RST1kocG1hcCkJbXR4X2Rlc3Ry b3koJihwbWFwKS0+cG1fbXR4KQogI2RlZmluZQlQTUFQX0xPQ0tfSU5JVChwbWFwKQltdHhfaW5p dCgmKHBtYXApLT5wbV9tdHgsIFwKIAkJCQkgICAgKHBtYXAgPT0ga2VybmVsX3BtYXApID8gImtl cm5lbHBtYXAiIDogXAogCQkJCSAgICAicG1hcCIsIE5VTEwsIE1UWF9ERUYpCkluZGV4OiBzeXMv c3BhcmM2NC9pbmNsdWRlL3BtYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvc3BhcmM2NC9pbmNsdWRl L3BtYXAuaAkocmV2aXNpb24gMjcwMDIwKQorKysgc3lzL3NwYXJjNjQvaW5jbHVkZS9wbWFwLmgJ KHdvcmtpbmcgY29weSkKQEAgLTcwLDcgKzcwLDYgQEAKICNkZWZpbmUJUE1BUF9MT0NLKHBtYXAp CQltdHhfbG9jaygmKHBtYXApLT5wbV9tdHgpCiAjZGVmaW5lCVBNQVBfTE9DS19BU1NFUlQocG1h cCwgdHlwZSkJCQkJCVwKIAkJCQltdHhfYXNzZXJ0KCYocG1hcCktPnBtX210eCwgKHR5cGUpKQot I2RlZmluZQlQTUFQX0xPQ0tfREVTVFJPWShwbWFwKQltdHhfZGVzdHJveSgmKHBtYXApLT5wbV9t dHgpCiAjZGVmaW5lCVBNQVBfTE9DS19JTklUKHBtYXApCW10eF9pbml0KCYocG1hcCktPnBtX210 eCwgInBtYXAiLAlcCiAJCQkJICAgIE5VTEwsIE1UWF9ERUYgfCBNVFhfRFVQT0spCiAjZGVmaW5l CVBNQVBfTE9DS0VEKHBtYXApCW10eF9vd25lZCgmKHBtYXApLT5wbV9tdHgpCkluZGV4OiBzeXMv c3BhcmM2NC9zcGFyYzY0L3BtYXAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvc3BhcmM2NC9zcGFyYzY0 L3BtYXAuYwkocmV2aXNpb24gMjcwMDIwKQorKysgc3lzL3NwYXJjNjQvc3BhcmM2NC9wbWFwLmMJ KHdvcmtpbmcgY29weSkKQEAgLTEyMTEsMTEgKzEyMTEsOSBAQAogCSAqLwogCWlmIChwbS0+cG1f dHNiID09IE5VTEwpIHsKIAkJcG0tPnBtX3RzYiA9IChzdHJ1Y3QgdHRlICopa3ZhX2FsbG9jKFRT Ql9CU0laRSk7Ci0JCWlmIChwbS0+cG1fdHNiID09IE5VTEwpIHsKLQkJCVBNQVBfTE9DS19ERVNU Uk9ZKHBtKTsKKwkJaWYgKHBtLT5wbV90c2IgPT0gTlVMTCkKIAkJCXJldHVybiAoMCk7CiAJCX0K LQl9CiAKIAkvKgogCSAqIEFsbG9jYXRlIGFuIG9iamVjdCBmb3IgaXQuCg== --001a113a75a29b3e060500aae22f--