Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Jun 2005 00:24:30 -0400 (EDT)
From:      Andre Guibert de Bruet <andy@siliconlandmark.com>
To:        current@freebsd.org
Subject:   [RFC] [PATCH] VM & VFS changes
Message-ID:  <20050601000203.D69811@lexi.siliconlandmark.com>

next in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--0-504302586-1117599870=:69811
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

Hi,

I would like to present a unified set of VM and VFS diffs for wider 
scrutiny and testing. I have been running these diffs since May 10th 
across daily reboots with no issues.

What this patch does:
- Adds code that cleanly unmounts swaps (Forcing page-in first) after the 
final sync but before all of the filesystems are unmounted. This causes 
references to swap slices in devfs to not be dangling when the machine is 
rebooted.
- Defers unmounting of devfs until all other filesystems are unmounted.
- Prints diagnostic messages when non-free dangling vnodes are still 
active on shutdown.

What it doesn't:
- Fix the EBUSY error code that is returned on reboot (But it sharply 
reduces the amount of dangling vnodes. I am still working on this issue).
- Vacuum your apartment (Sorry...).

The patch is attached to this email. Just in case it doesn't make it to 
the list, it can also be found online at:
http://bling.properkernel.com/freebsd/vm+vfs.shutdown.changes.patch

Comments and constructive criticism very welcome. :-)

Cheers,
Andy

PS: This work was sponsored by my employer, Silicon Landmark. If you like 
what you see, support us.

/*  Andre Guibert de Bruet  * 6f43 6564 7020 656f 2e74 4220 7469 6a20 */
/*   Code poet / Sysadmin   * 636f 656b 2e79 5320 7379 6461 696d 2e6e */
/*   GSM: +1 734 846 8758   * 5520 494e 2058 6c73 7565 6874 002e 0000 */
/* WWW: siliconlandmark.com *      Tormenting bytes since 1980.       */
--0-504302586-1117599870=:69811
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=vm+vfs.shutdown.changes.patch
Content-Transfer-Encoding: BASE64
Content-ID: <20050601002430.J69811@lexi.siliconlandmark.com>
Content-Description: 
Content-Disposition: attachment; filename=vm+vfs.shutdown.changes.patch

SW5kZXg6IGtlcm4va2Vybl9zaHV0ZG93bi5jDQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9zcmMvc3lzL2tlcm4va2Vy
bl9zaHV0ZG93bi5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNzQNCmRp
ZmYgLXUgLXIxLjE3NCBrZXJuX3NodXRkb3duLmMNCi0tLSBrZXJuL2tlcm5f
c2h1dGRvd24uYwkxMiBBcHIgMjAwNSAwNTo0NTo1OCAtMDAwMAkxLjE3NA0K
KysrIGtlcm4va2Vybl9zaHV0ZG93bi5jCTEwIE1heSAyMDA1IDE3OjA5OjAy
IC0wMDAwDQpAQCAtNjQsNiArNjQsOSBAQA0KICNpbmNsdWRlIDxzeXMvc3lz
Y3RsLmg+DQogI2luY2x1ZGUgPHN5cy9zeXNwcm90by5oPg0KIA0KKyNpbmNs
dWRlIDx2bS92bS5oPg0KKyNpbmNsdWRlIDx2bS9zd2FwX3BhZ2VyLmg+DQor
DQogI2luY2x1ZGUgPG1hY2hpbmUvY3B1Lmg+DQogI2luY2x1ZGUgPG1hY2hp
bmUvcGNiLmg+DQogI2luY2x1ZGUgPG1hY2hpbmUvc21wLmg+DQpAQCAtMzc0
LDYgKzM3NywxMiBAQA0KIAkJCWlmICghZmlyc3RfYnVmX3ByaW50ZikNCiAJ
CQkJcHJpbnRmKCJGaW5hbCBzeW5jIGNvbXBsZXRlXG4iKTsNCiAJCQkvKg0K
KwkJCSAqIERpc2FibGUgc3dhcHBpbmcNCisJCQkgKi8NCisJCQlpZiAocGFu
aWNzdHIgPT0gMCkNCisJCQkJc3dhcF9zd2Fwb2ZmX2FsbChjdXJ0aHJlYWQp
Ow0KKw0KKwkJCS8qDQogCQkJICogVW5tb3VudCBmaWxlc3lzdGVtcw0KIAkJ
CSAqLw0KIAkJCWlmIChwYW5pY3N0ciA9PSAwKQ0KSW5kZXg6IGtlcm4vdmZz
X3N1YnIuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9o
b21lL25jdnMvc3JjL3N5cy9rZXJuL3Zmc19zdWJyLmMsdg0KcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjYyNA0KZGlmZiAtdSAtcjEuNjI0IHZmc19zdWJyLmMN
Ci0tLSBrZXJuL3Zmc19zdWJyLmMJNiBNYXkgMjAwNSAwMjo0ODoyMCAtMDAw
MAkxLjYyNA0KKysrIGtlcm4vdmZzX3N1YnIuYwkxMSBNYXkgMjAwNSAwMTow
NDowMyAtMDAwMA0KQEAgLTI2NjAsNiArMjY2MCw3IEBADQogew0KIAlzdHJ1
Y3QgbW91bnQgKm1wOw0KIAlzdHJ1Y3QgdGhyZWFkICp0ZDsNCisJc3RydWN0
IHZub2RlICp2cDsNCiAJaW50IGVycm9yOw0KIA0KIAlLQVNTRVJUKGN1cnRo
cmVhZCAhPSBOVUxMLCAoInZmc191bm1vdW50YWxsOiBOVUxMIGN1cnRocmVh
ZCIpKTsNCkBAIC0yNjY5LDYgKzI2NzAsMzkgQEANCiAJICovDQogCXdoaWxl
KCFUQUlMUV9FTVBUWSgmbW91bnRsaXN0KSkgew0KIAkJbXAgPSBUQUlMUV9M
QVNUKCZtb3VudGxpc3QsIG1udGxpc3QpOw0KKw0KKyNpZmRlZiBESUFHTk9T
VElDDQorCQlwcmludGYoInZmc191bm1vdW50YWxsOiBUQUlMUV9MQVNUIGdh
dmUgdXM6ICVzXG4iLA0KKwkJCW1wLT5tbnRfc3RhdC5mX21udGZyb21uYW1l
KTsNCisjZW5kaWYgLyogRElBR05PU1RJQyAqLw0KKw0KKwkJaWYoIXN0cmNt
cChtcC0+bW50X3N0YXQuZl9tbnRmcm9tbmFtZSwgImRldmZzIikgJiYNCisJ
CQlUQUlMUV9GSVJTVCgmbW91bnRsaXN0KSAhPQ0KKwkJCVRBSUxRX0xBU1Qo
Jm1vdW50bGlzdCwgbW50bGlzdCkpDQorCQl7DQorCQkJbXAgPSBUQUlMUV9Q
UkVWKG1wLCBtbnRsaXN0LCBtbnRfbGlzdCk7DQorCQkJcHJpbnRmKCJ2ZnNf
dW5tb3VudF9hbGw6IEZvdW5kIGRldmZzLiAiDQorCQkJCSJkZWZlcnJpbmcg
dW5tb3VudC5cbiIpOw0KKwkJfQ0KKw0KKyNpZmRlZiBESUFHTk9TVElDDQor
CQlwcmludGYoInZmc191bm1vdW50YWxsOiB1bm1vdW50aW5nOiAlc1xuIiwN
CisJCQltcC0+bW50X3N0YXQuZl9tbnRmcm9tbmFtZSk7DQorI2VuZGlmIC8q
IERJQUdOT1NUSUMgKi8NCisNCisJCWlmKCFzdHJjbXAobXAtPm1udF9zdGF0
LmZfbW50ZnJvbW5hbWUsICJkZXZmcyIpKQ0KKwkJew0KKwkJCVRBSUxRX0ZP
UkVBQ0godnAsICZtcC0+bW50X252bm9kZWxpc3QsIHZfbm1udHZub2RlcykN
CisJCQl7DQorCQkJCWlmKCEodnAtPnZfdmZsYWcgJiBWSV9GUkVFKSkNCisJ
CQkJCSAvKnZwLT52X3VzZWNvdW50ID4gMCkqLw0KKwkJCQl7DQorCQkJCQl2
bl9wcmludGYodnAsICIlcyIsICIiKTsNCisJCQkJCS8qVk9QX0RFU1RST1lW
T0JKRUNUKHZwKTsqLw0KKwkJCQl9DQorCQkJfQ0KKwkJfQ0KKw0KIAkJZXJy
b3IgPSBkb3VubW91bnQobXAsIE1OVF9GT1JDRSwgdGQpOw0KIAkJaWYgKGVy
cm9yKSB7DQogCQkJVEFJTFFfUkVNT1ZFKCZtb3VudGxpc3QsIG1wLCBtbnRf
bGlzdCk7DQpAQCAtMjY4Miw2ICsyNzE2LDkgQEANCiAJCQkvKiBUaGUgdW5t
b3VudCBoYXMgcmVtb3ZlZCBtcCBmcm9tIHRoZSBtb3VudGxpc3QgKi8NCiAJ
CX0NCiAJfQ0KKyNpZmRlZiBESUFHTk9TVElDDQorCXByaW50ZigidmZzX3Vu
bW91bnRhbGwoKTogZG9uZSFcbiIpOw0KKyNlbmRpZiAvKiBESUFHTk9TVElD
ICovDQogfQ0KIA0KIC8qDQpJbmRleDogdm0vc3dhcF9wYWdlci5jDQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9zcmMv
c3lzL3ZtL3N3YXBfcGFnZXIuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
MjczDQpkaWZmIC11IC1yMS4yNzMgc3dhcF9wYWdlci5jDQotLS0gdm0vc3dh
cF9wYWdlci5jCTIwIE1heSAyMDA1IDIxOjI2OjA1IC0wMDAwCTEuMjczDQor
Kysgdm0vc3dhcF9wYWdlci5jCTI0IE1heSAyMDA1IDAyOjIxOjMwIC0wMDAw
DQpAQCAtMjE5Myw2ICsyMTkzLDYwIEBADQogCXJldHVybiAoZXJyb3IpOw0K
IH0NCiANCisNCisNCisvKg0KKyAqIHN3YXBfc3dhcG9mZl9hbGwodGhyZWFk
KSAtIERpc2FibGUgYWxsIHN3YXAgZm9yIHN5c3RlbSBzaHV0ZG93bi4gVGhp
cw0KKyAqIGZ1bmN0aW9uIGV4aXN0cyBiZWNhdXNlIG9mIHRoZSBiYWQgZGVz
aWduIG9mIHN3YXBvZmYgd2l0aCBpdHMgcmVxdWlyZW1lbnQNCisgKiBmb3Ig
YSBwYXRobmFtZSBpbnN0ZWFkIG9mIGEgc3dhcCBpbmRleC4gVG8gZ2V0IGFy
b3VuZCB0aGUgb3ZlcmhlYWQgb2YgVkZTDQorICogbG9va3Vwcywgd2UgaXRl
cmF0ZSB0aHJvdWdoIHRoZSBzd2FwIHRhaWxxLCBmb3JjZSBwYWdlLWlucyB0
aGVuIHJlbW92ZSB0aGUNCisgKiByZWZlcmVuY2UgdG8gZWFjaCBzdyBpbiBx
dWV1ZS4NCisgKi8NCit2b2lkDQorc3dhcF9zd2Fwb2ZmX2FsbChzdHJ1Y3Qg
dGhyZWFkICp0ZCkNCit7DQorCXN0cnVjdCBzd2RldnQgKnNwOw0KKw0KKwkv
KiBwcmludGYoInN3YXBfc3dhcG9mZl9hbGw6IGNhbGxlZCFcbiIpOyAqLw0K
KwlLQVNTRVJUKChuc3dhcGRldiA+IC0xKSwgKCJuc3dhcGRldiBpcyBuZWdh
dGl2ZTogJWkiLCBuc3dhcGRldikpOw0KKw0KKwltdHhfbG9jaygmc3dfZGV2
X210eCk7DQorCXNwID0gVEFJTFFfRklSU1QoJnN3dGFpbHEpOw0KKw0KKwl3
aGlsZSAobnN3YXBkZXYpDQorCXsNCisJCS8qIFhYWCBXaGVuIHRoZSBzeXN0
ZW0gaXMgZ29pbmcgZG93biwgaXQgc2hvdWxkIGJlIHNhZmUgdG8gcGFnZQ0K
KwkJICogYW55dGhpbmcgb24gc3dhcCBiYWNrIGluIHdpdGhvdXQgYW55IGlz
c3VlcywgYXMgYWxsIHVzZXINCisJCSAqIHByb2Nlc3NlcyBoYXZlIGJlZW4g
a2lsbGVkIG9mZi4NCisJCSAqLw0KKwkJc3AtPnN3X2ZsYWdzIHw9IFNXX0NM
T1NJTkc7DQorCQltdHhfdW5sb2NrKCZzd19kZXZfbXR4KTsNCisJCQ0KKwkJ
LypwcmludGYoInN3YXBfc3dhcG9mZl9hbGw6IEl0ZXJhdGluZyBpbiBsb29w
Li4uXG4iKTsgKi8NCisJCXN3YXBfcGFnZXJfc3dhcG9mZihzcCk7DQorDQor
CQlzcC0+c3dfY2xvc2UodGQsIHNwKTsNCisJCXNwLT5zd19pZCA9IE5VTEw7
DQorDQorCQluc3dhcGRldi0tOw0KKw0KKwkJbXR4X2xvY2soJnN3X2Rldl9t
dHgpOw0KKwkJVEFJTFFfUkVNT1ZFKCZzd3RhaWxxLCBzcCwgc3dfbGlzdCk7
DQorDQorCQlzcCA9IFRBSUxRX0ZJUlNUKCZzd3RhaWxxKTsNCisJCWZyZWUo
c3AsIE1fVk1QR0RBVEEpOw0KKwl9DQorCW10eF91bmxvY2soJnN3X2Rldl9t
dHgpOw0KKw0KKwlzd2FwX3BhZ2VyX2Z1bGwgPSAyOw0KKwlzd2FwX3BhZ2Vy
X2FsbW9zdF9mdWxsID0gMTsNCisJc3dkZXZoZCA9IE5VTEw7DQorCQ0KKwkv
KiBwcmludGYoInN3YXBfc3dhcG9mZl9hbGw6IGRvbmUhXG4iKTsgKi8NCit9
DQorDQorDQorDQogdm9pZA0KIHN3YXBfcGFnZXJfc3RhdHVzKGludCAqdG90
YWwsIGludCAqdXNlZCkNCiB7DQpJbmRleDogdm0vc3dhcF9wYWdlci5oDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9z
cmMvc3lzL3ZtL3N3YXBfcGFnZXIuaCx2DQpyZXRyaWV2aW5nIHJldmlzaW9u
IDEuNTANCmRpZmYgLXUgLXIxLjUwIHN3YXBfcGFnZXIuaA0KLS0tIHZtL3N3
YXBfcGFnZXIuaAk3IEphbiAyMDA1IDAyOjI5OjI3IC0wMDAwCTEuNTANCisr
KyB2bS9zd2FwX3BhZ2VyLmgJMTAgTWF5IDIwMDUgMTc6NTQ6NDEgLTAwMDAN
CkBAIC01MCw2ICs1MCw3IEBADQogaW50IHN3YXBfcGFnZXJfaXNzd2FwcGVk
KHZtX29iamVjdF90LCBzdHJ1Y3Qgc3dkZXZ0ICopOw0KIGludCBzd2FwX3Bh
Z2VyX3Jlc2VydmUodm1fb2JqZWN0X3QsIHZtX3BpbmRleF90LCB2bV9zaXpl
X3QpOw0KIHZvaWQgc3dhcF9wYWdlcl9zdGF0dXMoaW50ICp0b3RhbCwgaW50
ICp1c2VkKTsNCit2b2lkIHN3YXBfc3dhcG9mZl9hbGwoc3RydWN0IHRocmVh
ZCAqKTsNCiANCiAjZW5kaWYJCQkJLyogX0tFUk5FTCAqLw0KICNlbmRpZgkJ
CQkvKiBfVk1fU1dBUF9QQUdFUl9IXyAqLw0K

--0-504302586-1117599870=:69811--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050601000203.D69811>