head 1.3; access; symbols netbsd-11-0-RC5:1.3 netbsd-11-0-RC4:1.3 netbsd-11-0-RC3:1.3 netbsd-11-0-RC2:1.3 netbsd-11-0-RC1:1.3 perseant-exfatfs-base-20250801:1.3 netbsd-11:1.3.0.244 netbsd-11-base:1.3 netbsd-10-1-RELEASE:1.3 perseant-exfatfs-base-20240630:1.3 perseant-exfatfs:1.3.0.242 perseant-exfatfs-base:1.3 netbsd-8-3-RELEASE:1.3 netbsd-9-4-RELEASE:1.3 netbsd-10-0-RELEASE:1.3 netbsd-10-0-RC6:1.3 netbsd-10-0-RC5:1.3 netbsd-10-0-RC4:1.3 netbsd-10-0-RC3:1.3 netbsd-10-0-RC2:1.3 thorpej-ifq:1.3.0.240 thorpej-ifq-base:1.3 thorpej-altq-separation:1.3.0.238 thorpej-altq-separation-base:1.3 netbsd-10-0-RC1:1.3 netbsd-10:1.3.0.236 netbsd-10-base:1.3 bouyer-sunxi-drm:1.3.0.234 bouyer-sunxi-drm-base:1.3 netbsd-9-3-RELEASE:1.3 thorpej-i2c-spi-conf2:1.3.0.232 thorpej-i2c-spi-conf2-base:1.3 thorpej-futex2:1.3.0.230 thorpej-futex2-base:1.3 thorpej-cfargs2:1.3.0.228 thorpej-cfargs2-base:1.3 cjep_sun2x-base1:1.3 cjep_sun2x:1.3.0.226 cjep_sun2x-base:1.3 cjep_staticlib_x-base1:1.3 netbsd-9-2-RELEASE:1.3 cjep_staticlib_x:1.3.0.224 cjep_staticlib_x-base:1.3 thorpej-i2c-spi-conf:1.3.0.222 thorpej-i2c-spi-conf-base:1.3 thorpej-cfargs:1.3.0.220 thorpej-cfargs-base:1.3 thorpej-futex:1.3.0.218 thorpej-futex-base:1.3 netbsd-9-1-RELEASE:1.3 bouyer-xenpvh-base2:1.3 phil-wifi-20200421:1.3 bouyer-xenpvh-base1:1.3 phil-wifi-20200411:1.3 bouyer-xenpvh:1.3.0.216 bouyer-xenpvh-base:1.3 is-mlppp:1.3.0.214 is-mlppp-base:1.3 phil-wifi-20200406:1.3 netbsd-8-2-RELEASE:1.3 ad-namecache-base3:1.3 netbsd-9-0-RELEASE:1.3 netbsd-9-0-RC2:1.3 ad-namecache-base2:1.3 ad-namecache-base1:1.3 ad-namecache:1.3.0.212 ad-namecache-base:1.3 netbsd-9-0-RC1:1.3 phil-wifi-20191119:1.3 netbsd-9:1.3.0.210 netbsd-9-base:1.3 phil-wifi-20190609:1.3 netbsd-8-1-RELEASE:1.3 netbsd-8-1-RC1:1.3 isaki-audio2:1.3.0.208 isaki-audio2-base:1.3 pgoyette-compat-merge-20190127:1.3 pgoyette-compat-20190127:1.3 pgoyette-compat-20190118:1.3 pgoyette-compat-1226:1.3 pgoyette-compat-1126:1.3 pgoyette-compat-1020:1.3 pgoyette-compat-0930:1.3 pgoyette-compat-0906:1.3 netbsd-7-2-RELEASE:1.3 pgoyette-compat-0728:1.3 netbsd-8-0-RELEASE:1.3 phil-wifi:1.3.0.206 phil-wifi-base:1.3 pgoyette-compat-0625:1.3 netbsd-8-0-RC2:1.3 pgoyette-compat-0521:1.3 pgoyette-compat-0502:1.3 pgoyette-compat-0422:1.3 netbsd-8-0-RC1:1.3 pgoyette-compat-0415:1.3 pgoyette-compat-0407:1.3 pgoyette-compat-0330:1.3 pgoyette-compat-0322:1.3 pgoyette-compat-0315:1.3 netbsd-7-1-2-RELEASE:1.3 pgoyette-compat:1.3.0.30 pgoyette-compat-base:1.3 netbsd-7-1-1-RELEASE:1.3 tls-maxphys-base-20171202:1.3 matt-nb8-mediatek:1.3.0.4 matt-nb8-mediatek-base:1.3 nick-nhusb-base-20170825:1.3 perseant-stdc-iso10646:1.3.0.204 perseant-stdc-iso10646-base:1.3 netbsd-8:1.3.0.202 netbsd-8-base:1.3 prg-localcount2-base3:1.3 prg-localcount2-base2:1.3 prg-localcount2-base1:1.3 prg-localcount2:1.3.0.200 prg-localcount2-base:1.3 pgoyette-localcount-20170426:1.3 bouyer-socketcan-base1:1.3 jdolecek-ncq:1.3.0.198 jdolecek-ncq-base:1.3 pgoyette-localcount-20170320:1.3 netbsd-7-1:1.3.0.196 netbsd-7-1-RELEASE:1.3 netbsd-7-1-RC2:1.3 nick-nhusb-base-20170204:1.3 netbsd-7-nhusb-base-20170116:1.3 bouyer-socketcan:1.3.0.194 bouyer-socketcan-base:1.3 pgoyette-localcount-20170107:1.3 netbsd-7-1-RC1:1.3 nick-nhusb-base-20161204:1.3 pgoyette-localcount-20161104:1.3 netbsd-7-0-2-RELEASE:1.3 nick-nhusb-base-20161004:1.3 localcount-20160914:1.3 netbsd-7-nhusb:1.3.0.192 netbsd-7-nhusb-base:1.3 pgoyette-localcount-20160806:1.3 pgoyette-localcount-20160726:1.3 pgoyette-localcount:1.3.0.190 pgoyette-localcount-base:1.3 nick-nhusb-base-20160907:1.3 nick-nhusb-base-20160529:1.3 netbsd-7-0-1-RELEASE:1.3 nick-nhusb-base-20160422:1.3 nick-nhusb-base-20160319:1.3 nick-nhusb-base-20151226:1.3 netbsd-7-0:1.3.0.188 netbsd-7-0-RELEASE:1.3 nick-nhusb-base-20150921:1.3 netbsd-7-0-RC3:1.3 netbsd-7-0-RC2:1.3 netbsd-7-0-RC1:1.3 nick-nhusb-base-20150606:1.3 nick-nhusb-base-20150406:1.3 nick-nhusb:1.3.0.186 nick-nhusb-base:1.3 netbsd-5-2-3-RELEASE:1.3 netbsd-5-1-5-RELEASE:1.3 netbsd-6-0-6-RELEASE:1.3 netbsd-6-1-5-RELEASE:1.3 netbsd-7:1.3.0.184 netbsd-7-base:1.3 yamt-pagecache-base9:1.3 yamt-pagecache-tag8:1.3 netbsd-6-1-4-RELEASE:1.3 netbsd-6-0-5-RELEASE:1.3 tls-earlyentropy:1.3.0.182 tls-earlyentropy-base:1.3 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.3 riastradh-drm2-base3:1.3 netbsd-6-1-3-RELEASE:1.3 netbsd-6-0-4-RELEASE:1.3 netbsd-5-2-2-RELEASE:1.3 netbsd-5-1-4-RELEASE:1.3 netbsd-6-1-2-RELEASE:1.3 netbsd-6-0-3-RELEASE:1.3 netbsd-5-2-1-RELEASE:1.3 netbsd-5-1-3-RELEASE:1.3 rmind-smpnet-nbase:1.3 netbsd-6-1-1-RELEASE:1.3 riastradh-drm2-base2:1.3 riastradh-drm2-base1:1.3 riastradh-drm2:1.3.0.180 riastradh-drm2-base:1.3 rmind-smpnet:1.3.0.172 rmind-smpnet-base:1.3 netbsd-6-1:1.3.0.178 netbsd-6-0-2-RELEASE:1.3 netbsd-6-1-RELEASE:1.3 khorben-n900:1.3.0.176 netbsd-6-1-RC4:1.3 netbsd-6-1-RC3:1.3 agc-symver:1.3.0.174 agc-symver-base:1.3 netbsd-6-1-RC2:1.3 netbsd-6-1-RC1:1.3 yamt-pagecache-base8:1.3 netbsd-5-2:1.3.0.170 netbsd-6-0-1-RELEASE:1.3 yamt-pagecache-base7:1.3 netbsd-5-2-RELEASE:1.3 netbsd-5-2-RC1:1.3 matt-nb6-plus-nbase:1.3 yamt-pagecache-base6:1.3 netbsd-6-0:1.3.0.168 netbsd-6-0-RELEASE:1.3 netbsd-6-0-RC2:1.3 tls-maxphys:1.3.0.166 tls-maxphys-base:1.3 matt-nb6-plus:1.3.0.164 matt-nb6-plus-base:1.3 netbsd-6-0-RC1:1.3 jmcneill-usbmp-base10:1.3 yamt-pagecache-base5:1.3 jmcneill-usbmp-base9:1.3 yamt-pagecache-base4:1.3 jmcneill-usbmp-base8:1.3 jmcneill-usbmp-base7:1.3 jmcneill-usbmp-base6:1.3 jmcneill-usbmp-base5:1.3 jmcneill-usbmp-base4:1.3 jmcneill-usbmp-base3:1.3 jmcneill-usbmp-pre-base2:1.3 jmcneill-usbmp-base2:1.3 netbsd-6:1.3.0.162 netbsd-6-base:1.3 netbsd-5-1-2-RELEASE:1.3 netbsd-5-1-1-RELEASE:1.3 jmcneill-usbmp:1.3.0.160 jmcneill-usbmp-base:1.3 jmcneill-audiomp3:1.3.0.158 jmcneill-audiomp3-base:1.3 yamt-pagecache-base3:1.3 yamt-pagecache-base2:1.3 yamt-pagecache:1.3.0.156 yamt-pagecache-base:1.3 rmind-uvmplock-nbase:1.3 cherry-xenmp:1.3.0.154 cherry-xenmp-base:1.3 bouyer-quota2-nbase:1.3 bouyer-quota2:1.3.0.152 bouyer-quota2-base:1.3 jruoho-x86intr:1.3.0.150 jruoho-x86intr-base:1.3 matt-mips64-premerge-20101231:1.3 matt-nb5-mips64-premerge-20101231:1.3 matt-nb5-pq3:1.3.0.148 matt-nb5-pq3-base:1.3 netbsd-5-1:1.3.0.146 netbsd-5-1-RELEASE:1.3 uebayasi-xip-base4:1.3 uebayasi-xip-base3:1.3 yamt-nfs-mp-base11:1.3 netbsd-5-1-RC4:1.3 matt-nb5-mips64-k15:1.3 uebayasi-xip-base2:1.3 yamt-nfs-mp-base10:1.3 netbsd-5-1-RC3:1.3 netbsd-5-1-RC2:1.3 uebayasi-xip-base1:1.3 netbsd-5-1-RC1:1.3 rmind-uvmplock:1.3.0.144 rmind-uvmplock-base:1.3 yamt-nfs-mp-base9:1.3 uebayasi-xip:1.3.0.142 uebayasi-xip-base:1.3 netbsd-5-0-2-RELEASE:1.3 matt-nb5-mips64-premerge-20091211:1.3 matt-premerge-20091211:1.3 yamt-nfs-mp-base8:1.3 matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.3 matt-nb4-mips64-k7-u2a-k9b:1.3 matt-nb5-mips64-u1-k1-k5:1.3 yamt-nfs-mp-base7:1.3 matt-nb5-mips64:1.3.0.140 netbsd-5-0-1-RELEASE:1.3 jymxensuspend-base:1.3 yamt-nfs-mp-base6:1.3 yamt-nfs-mp-base5:1.3 yamt-nfs-mp-base4:1.3 jym-xensuspend-nbase:1.3 yamt-nfs-mp-base3:1.3 nick-hppapmap-base4:1.3 nick-hppapmap-base3:1.3 netbsd-5-0:1.3.0.138 netbsd-5-0-RELEASE:1.3 netbsd-5-0-RC4:1.3 netbsd-5-0-RC3:1.3 nick-hppapmap-base2:1.3 netbsd-5-0-RC2:1.3 jym-xensuspend:1.3.0.136 jym-xensuspend-base:1.3 netbsd-5-0-RC1:1.3 haad-dm-base2:1.3 haad-nbase2:1.3 ad-audiomp2:1.3.0.134 ad-audiomp2-base:1.3 netbsd-5:1.3.0.132 netbsd-5-base:1.3 nick-hppapmap:1.3.0.130 nick-hppapmap-base:1.3 matt-mips64-base2:1.3 matt-mips64:1.3.0.128 haad-dm-base1:1.3 wrstuden-revivesa-base-4:1.3 netbsd-4-0-1-RELEASE:1.3 wrstuden-revivesa-base-3:1.3 wrstuden-revivesa-base-2:1.3 wrstuden-fixsa-newbase:1.3 nick-csl-alignment-base5:1.3 haad-dm:1.3.0.126 haad-dm-base:1.3 wrstuden-revivesa-base-1:1.3 simonb-wapbl-nbase:1.3 yamt-pf42-base4:1.3 simonb-wapbl:1.3.0.124 simonb-wapbl-base:1.3 yamt-pf42-base3:1.3 hpcarm-cleanup-nbase:1.3 yamt-pf42-baseX:1.3 yamt-pf42-base2:1.3 yamt-nfs-mp-base2:1.3 wrstuden-revivesa:1.3.0.122 wrstuden-revivesa-base:1.3 yamt-nfs-mp:1.3.0.120 yamt-nfs-mp-base:1.3 yamt-pf42:1.3.0.118 yamt-pf42-base:1.3 ad-socklock-base1:1.3 yamt-lazymbuf-base15:1.3 yamt-lazymbuf-base14:1.3 keiichi-mipv6-nbase:1.3 mjf-devfs2:1.3.0.116 mjf-devfs2-base:1.3 nick-net80211-sync:1.3.0.114 nick-net80211-sync-base:1.3 keiichi-mipv6:1.3.0.112 keiichi-mipv6-base:1.3 bouyer-xeni386-merge1:1.3 matt-armv6-prevmlocking:1.3 wrstuden-fixsa-base-1:1.3 vmlocking2-base3:1.3 netbsd-4-0:1.3.0.110 netbsd-4-0-RELEASE:1.3 bouyer-xeni386-nbase:1.3 yamt-kmem-base3:1.3 cube-autoconf:1.3.0.108 cube-autoconf-base:1.3 yamt-kmem-base2:1.3 bouyer-xeni386:1.3.0.106 bouyer-xeni386-base:1.3 yamt-kmem:1.3.0.104 yamt-kmem-base:1.3 vmlocking2-base2:1.3 reinoud-bufcleanup-nbase:1.3 vmlocking2:1.3.0.102 vmlocking2-base1:1.3 netbsd-4-0-RC5:1.3 matt-nb4-arm:1.3.0.100 matt-nb4-arm-base:1.3 matt-armv6-nbase:1.3 jmcneill-base:1.3 netbsd-4-0-RC4:1.3 mjf-devfs:1.3.0.98 mjf-devfs-base:1.3 bouyer-xenamd64-base2:1.3 vmlocking-nbase:1.3 yamt-x86pmap-base4:1.3 bouyer-xenamd64:1.3.0.96 bouyer-xenamd64-base:1.3 netbsd-4-0-RC3:1.3 yamt-x86pmap-base3:1.3 yamt-x86pmap-base2:1.3 netbsd-4-0-RC2:1.3 yamt-x86pmap:1.3.0.94 yamt-x86pmap-base:1.3 netbsd-4-0-RC1:1.3 matt-armv6:1.3.0.92 matt-armv6-base:1.3 matt-mips64-base:1.3 jmcneill-pm:1.3.0.90 jmcneill-pm-base:1.3 hpcarm-cleanup:1.3.0.88 hpcarm-cleanup-base:1.3 nick-csl-alignment:1.3.0.86 nick-csl-alignment-base:1.3 netbsd-3-1-1-RELEASE:1.3 netbsd-3-0-3-RELEASE:1.3 yamt-idlelwp-base8:1.3 wrstuden-fixsa:1.3.0.84 wrstuden-fixsa-base:1.3 thorpej-atomic:1.3.0.82 thorpej-atomic-base:1.3 reinoud-bufcleanup:1.3.0.80 reinoud-bufcleanup-base:1.3 mjf-ufs-trans:1.3.0.78 mjf-ufs-trans-base:1.3 vmlocking:1.3.0.76 vmlocking-base:1.3 ad-audiomp:1.3.0.74 ad-audiomp-base:1.3 yamt-idlelwp:1.3.0.72 post-newlock2-merge:1.3 newlock2-nbase:1.3 yamt-splraiseipl-base5:1.3 yamt-splraiseipl-base4:1.3 yamt-splraiseipl-base3:1.3 abandoned-netbsd-4-base:1.3 abandoned-netbsd-4:1.3.0.62 netbsd-3-1:1.3.0.68 netbsd-3-1-RELEASE:1.3 netbsd-3-0-2-RELEASE:1.3 yamt-splraiseipl-base2:1.3 netbsd-3-1-RC4:1.3 yamt-splraiseipl:1.3.0.66 yamt-splraiseipl-base:1.3 netbsd-3-1-RC3:1.3 yamt-pdpolicy-base9:1.3 newlock2:1.3.0.64 newlock2-base:1.3 yamt-pdpolicy-base8:1.3 netbsd-3-1-RC2:1.3 netbsd-3-1-RC1:1.3 yamt-pdpolicy-base7:1.3 netbsd-4:1.3.0.70 netbsd-4-base:1.3 yamt-pdpolicy-base6:1.3 chap-midi-nbase:1.3 netbsd-3-0-1-RELEASE:1.3 gdamore-uart:1.3.0.60 gdamore-uart-base:1.3 simonb-timcounters-final:1.3 yamt-pdpolicy-base5:1.3 chap-midi:1.3.0.58 chap-midi-base:1.3 yamt-pdpolicy-base4:1.3 yamt-pdpolicy-base3:1.3 peter-altq-base:1.3 peter-altq:1.3.0.56 yamt-pdpolicy-base2:1.3 elad-kernelauth-base:1.3 elad-kernelauth:1.3.0.54 yamt-pdpolicy:1.3.0.52 yamt-pdpolicy-base:1.3 yamt-uio_vmspace-base5:1.3 simonb-timecounters:1.3.0.50 simonb-timecounters-base:1.3 rpaulo-netinet-merge-pcb:1.3.0.48 rpaulo-netinet-merge-pcb-base:1.3 yamt-uio_vmspace:1.3.0.46 netbsd-3-0:1.3.0.44 netbsd-3-0-RELEASE:1.3 netbsd-3-0-RC6:1.3 yamt-readahead-base3:1.3 netbsd-3-0-RC5:1.3 netbsd-3-0-RC4:1.3 netbsd-3-0-RC3:1.3 yamt-readahead-base2:1.3 netbsd-3-0-RC2:1.3 yamt-readahead-pervnode:1.3 yamt-readahead-perfile:1.3 yamt-readahead:1.3.0.42 yamt-readahead-base:1.3 netbsd-3-0-RC1:1.3 yamt-vop-base3:1.3 netbsd-2-0-3-RELEASE:1.3 netbsd-2-1:1.3.0.40 yamt-vop-base2:1.3 thorpej-vnode-attr:1.3.0.38 thorpej-vnode-attr-base:1.3 netbsd-2-1-RELEASE:1.3 yamt-vop:1.3.0.36 yamt-vop-base:1.3 netbsd-2-1-RC6:1.3 netbsd-2-1-RC5:1.3 netbsd-2-1-RC4:1.3 netbsd-2-1-RC3:1.3 netbsd-2-1-RC2:1.3 netbsd-2-1-RC1:1.3 yamt-lazymbuf:1.3.0.34 yamt-km-base4:1.3 netbsd-2-0-2-RELEASE:1.3 yamt-km-base3:1.3 netbsd-3:1.3.0.32 netbsd-3-base:1.3 yamt-km-base2:1.3 yamt-km:1.3.0.28 yamt-km-base:1.3 kent-audio2:1.3.0.26 kent-audio2-base:1.3 netbsd-2-0-1-RELEASE:1.3 kent-audio1-beforemerge:1.3 netbsd-2:1.3.0.24 netbsd-2-base:1.3 kent-audio1:1.3.0.22 kent-audio1-base:1.3 netbsd-2-0-RELEASE:1.3 netbsd-2-0-RC5:1.3 netbsd-2-0-RC4:1.3 netbsd-2-0-RC3:1.3 netbsd-2-0-RC2:1.3 netbsd-2-0-RC1:1.3 netbsd-2-0:1.3.0.20 netbsd-2-0-base:1.3 netbsd-1-6-PATCH002-RELEASE:1.3 netbsd-1-6-PATCH002:1.3 netbsd-1-6-PATCH002-RC4:1.3 netbsd-1-6-PATCH002-RC3:1.3 netbsd-1-6-PATCH002-RC2:1.3 netbsd-1-6-PATCH002-RC1:1.3 ktrace-lwp:1.3.0.18 ktrace-lwp-base:1.3 netbsd-1-6-PATCH001:1.3 netbsd-1-6-PATCH001-RELEASE:1.3 netbsd-1-6-PATCH001-RC3:1.3 netbsd-1-6-PATCH001-RC2:1.3 netbsd-1-6-PATCH001-RC1:1.3 nathanw_sa_end:1.2.14.1 nathanw_sa_before_merge:1.3 fvdl_fs64_base:1.3 gmcgarry_ctxsw:1.3.0.16 gmcgarry_ctxsw_base:1.3 gmcgarry_ucred:1.3.0.14 gmcgarry_ucred_base:1.3 nathanw_sa_base:1.3 kqueue-aftermerge:1.3 kqueue-beforemerge:1.3 netbsd-1-6-RELEASE:1.3 netbsd-1-6-RC3:1.3 netbsd-1-6-RC2:1.3 netbsd-1-6-RC1:1.3 netbsd-1-6:1.3.0.12 netbsd-1-6-base:1.3 gehenna-devsw:1.3.0.10 gehenna-devsw-base:1.3 netbsd-1-5-PATCH003:1.2 eeh-devprop:1.3.0.8 eeh-devprop-base:1.3 newlock:1.3.0.6 newlock-base:1.3 ifpoll-base:1.3 thorpej-mips-cache:1.3.0.2 thorpej-mips-cache-base:1.3 thorpej-devvp-base3:1.3 thorpej-devvp-base2:1.3 post-chs-ubcperf:1.3 pre-chs-ubcperf:1.2 thorpej-devvp:1.2.0.18 thorpej-devvp-base:1.2 netbsd-1-5-PATCH002:1.2 kqueue:1.2.0.16 kqueue-base:1.3 netbsd-1-5-PATCH001:1.2 thorpej_scsipi_beforemerge:1.2 nathanw_sa:1.2.0.14 thorpej_scsipi_nbase:1.2 netbsd-1-5-RELEASE:1.2 netbsd-1-5-BETA2:1.2 netbsd-1-5-BETA:1.2 netbsd-1-4-PATCH003:1.1 netbsd-1-5-ALPHA2:1.2 netbsd-1-5:1.2.0.12 netbsd-1-5-base:1.2 minoura-xpg4dl-base:1.2 minoura-xpg4dl:1.2.0.10 netbsd-1-4-PATCH002:1.1 chs-ubc2-newbase:1.2 wrstuden-devbsize-19991221:1.2 wrstuden-devbsize:1.2.0.8 wrstuden-devbsize-base:1.2 kame_141_19991130:1.1 comdex-fall-1999:1.2.0.6 comdex-fall-1999-base:1.2 fvdl-softdep:1.2.0.4 fvdl-softdep-base:1.2 thorpej_scsipi:1.2.0.2 thorpej_scsipi_base:1.2 netbsd-1-4-PATCH001:1.1 kame_14_19990705:1.1 kame_14_19990628:1.1 kame:1.1.0.12 chs-ubc2:1.1.0.10 chs-ubc2-base:1.2 netbsd-1-4-RELEASE:1.1 netbsd-1-4:1.1.0.8 netbsd-1-4-base:1.1 kenh-if-detach:1.1.0.6 kenh-if-detach-base:1.1 chs-ubc:1.1.0.4 chs-ubc-base:1.1 eeh-paddr_t:1.1.0.2 eeh-paddr_t-base:1.1; locks; strict; comment @# @; 1.3 date 2001.09.15.20.36.38; author chs; state Exp; branches; next 1.2; 1.2 date 99.07.08.01.18.59; author wrstuden; state Exp; branches 1.2.14.1 1.2.16.1 1.2.18.1; next 1.1; 1.1 date 98.06.12.23.23.02; author cgd; state Exp; branches 1.1.10.1; next ; 1.2.14.1 date 2001.09.21.22.36.36; author nathanw; state Exp; branches; next ; 1.2.16.1 date 2002.01.10.20.01.34; author thorpej; state Exp; branches; next ; 1.2.18.1 date 2001.10.01.12.47.18; author fvdl; state Exp; branches; next ; 1.1.10.1 date 99.08.02.22.27.33; author thorpej; state Exp; branches; next ; desc @@ 1.3 log @a whole bunch of changes to improve performance and robustness under load: - remove special treatment of pager_map mappings in pmaps. this is required now, since I've removed the globals that expose the address range. pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's no longer any need to special-case it. - eliminate struct uvm_vnode by moving its fields into struct vnode. - rewrite the pageout path. the pager is now responsible for handling the high-level requests instead of only getting control after a bunch of work has already been done on its behalf. this will allow us to UBCify LFS, which needs tighter control over its pages than other filesystems do. writing a page to disk no longer requires making it read-only, which allows us to write wired pages without causing all kinds of havoc. - use a new PG_PAGEOUT flag to indicate that a page should be freed on behalf of the pagedaemon when it's unlocked. this flag is very similar to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the pageout fails due to eg. an indirect-block buffer being locked. this allows us to remove the "version" field from struct vm_page, and together with shrinking "loan_count" from 32 bits to 16, struct vm_page is now 4 bytes smaller. - no longer use PG_RELEASED for swap-backed pages. if the page is busy because it's being paged out, we can't release the swap slot to be reallocated until that write is complete, but unlike with vnodes we don't keep a count of in-progress writes so there's no good way to know when the write is done. instead, when we need to free a busy swap-backed page, just sleep until we can get it busy ourselves. - implement a fast-path for extending writes which allows us to avoid zeroing new pages. this substantially reduces cpu usage. - encapsulate the data used by the genfs code in a struct genfs_node, which must be the first element of the filesystem-specific vnode data for filesystems which use genfs_{get,put}pages(). - eliminate many of the UVM pagerops, since they aren't needed anymore now that the pager "put" operation is a higher-level operation. - enhance the genfs code to allow NFS to use the genfs_{get,put}pages instead of a modified copy. - clean up struct vnode by removing all the fields that used to be used by the vfs_cluster.c code (which we don't use anymore with UBC). - remove kmem_object and mb_object since they were useless. instead of allocating pages to these objects, we now just allocate pages with no object. such pages are mapped in the kernel until they are freed, so we can use the mapping to find the page to free it. this allows us to remove splvm() protection in several places. The sum of all these changes improves write throughput on my decstation 5000/200 to within 1% of the rate of NetBSD 1.5 and reduces the elapsed time for "make release" of a NetBSD 1.5 source tree on my 128MB pc to 10% less than a 1.5 kernel took. @ text @# $NetBSD: Makefile,v 1.2 1999/07/08 01:18:59 wrstuden Exp $ INCSDIR= /usr/include/miscfs/genfs INCS= genfs.h genfs_node.h layer.h .include @ 1.2 log @Introduce layer library in genfs. This set of files abstracts most of the functionality of nullfs. The latter is now just a mount & unmount routine, and a few tables. umapfs borrow most of this infrastructure. Both fs's are now nfs-exportable. All layered fs's share a common format to private mount & private vnode structs (which a particular fs can extend). Also add genfs_noerr_rele(), a vnode op which will vrele/vput operand vnodes appropriately. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.1 1998/06/12 23:23:02 cgd Exp $ d5 1 a5 1 INCS= genfs.h layer.h @ 1.2.16.1 log @Sync kqueue branch with -current. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.3 2001/09/15 20:36:38 chs Exp $ d5 1 a5 1 INCS= genfs.h genfs_node.h layer.h @ 1.2.18.1 log @Catch up with -current. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.3 2001/09/15 20:36:38 chs Exp $ d5 1 a5 1 INCS= genfs.h genfs_node.h layer.h @ 1.2.14.1 log @Catch up to -current. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.2 1999/07/08 01:18:59 wrstuden Exp $ d5 1 a5 1 INCS= genfs.h genfs_node.h layer.h @ 1.1 log @Rework the way kernel include files are installed. In the new method, as with user-land programs, include files are installed by each directory in the tree that has includes to install. (This allows more flexibility as to what gets installed, makes 'partial installs' easier, and gives us more options as to which machines' includes get installed at any given time.) The old SYS_INCLUDES={symlinks,copies} behaviours are _both_ still supported, though at least one bug in the 'symlinks' case is fixed by this change. Include files can't be build before installation, so directories that have includes as targets (e.g. dev/pci) have to move those targets into a different Makefile. @ text @d1 1 a1 1 # $NetBSD$ d5 1 a5 1 INCS= genfs.h @ 1.1.10.1 log @Update from trunk. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.2 1999/07/08 01:18:59 wrstuden Exp $ d5 1 a5 1 INCS= genfs.h layer.h @