Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Feb 2008 13:13:38 GMT
From:      Sepherosa Ziehau <sephe@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 134893 for review
Message-ID:  <200802061313.m16DDcpI017614@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=134893

Change 134893 by sephe@sephe_enigma:sam_wifi on 2008/02/06 13:12:51

	IFC (with -id)

Affected files ...

.. //depot/projects/wifi/Makefile.inc1#40 integrate
.. //depot/projects/wifi/contrib/hostapd/aes.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/ap_list.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/ap_list.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/beacon.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/beacon.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/build_config.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/des.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/eap_aka.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/eap_gpsk.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/eap_gpsk_common.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/eap_gpsk_common.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/eap_methods.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/eap_methods.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/eap_sake.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/eap_sake_common.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/eap_sake_common.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/eap_vendor_test.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/eloop_none.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/eloop_win.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/hlr_auc_gw.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/hlr_auc_gw.milenage_db#2 integrate
.. //depot/projects/wifi/contrib/hostapd/hostapd.vlan#2 integrate
.. //depot/projects/wifi/contrib/hostapd/hw_features.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/hw_features.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/ieee802_11h.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/ieee802_11h.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/includes.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/md4.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/milenage.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/milenage.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/mlme.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/mlme.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/os.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/os_unix.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/pmksa_cache.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/pmksa_cache.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/preauth.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/preauth.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/reconfig.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/sha256.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/sha256.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/state_machine.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/tls_gnutls.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/vlan_init.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/vlan_init.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/wme.c#2 integrate
.. //depot/projects/wifi/contrib/hostapd/wme.h#2 integrate
.. //depot/projects/wifi/contrib/hostapd/wpa_common.h#2 integrate
.. //depot/projects/wifi/contrib/pf/pflogd/pidfile.c#3 integrate
.. //depot/projects/wifi/contrib/pf/pflogd/pidfile.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/aes.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/asn1.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/asn1.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/asn1_test.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/bignum.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/bignum.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/build_config.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/config_none.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/config_winreg.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/crypto_cryptoapi.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/crypto_internal.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/crypto_libtomcrypt.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/crypto_none.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/ctrl_iface_dbus.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/ctrl_iface_dbus.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/ctrl_iface_named_pipe.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/ctrl_iface_udp.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/ctrl_iface_unix.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/dbus-wpa_supplicant.conf#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/dbus_dict_helpers.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/dbus_dict_helpers.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/des.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/driver_ndis_.c#4 delete
.. //depot/projects/wifi/contrib/wpa_supplicant/eap_gpsk.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/eap_gpsk_common.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/eap_gpsk_common.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/eap_methods.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/eap_methods.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/eap_sake.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/eap_sake_common.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/eap_sake_common.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/eap_vendor_test.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/eloop_none.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/eloop_win.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/includes.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/libtommath.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/md4.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/mlme.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/mlme.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/nmake.mak#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/openssl-0.9.8d-tls-extensions.patch#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/os.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/os_unix.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/pmksa_cache.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/pmksa_cache.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/rsa.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/rsa.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/sha256.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/sha256.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/state_machine.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/tls_internal.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/tlsv1_client.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/tlsv1_client.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/tlsv1_common.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/tlsv1_common.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/wpa_common.h#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/wpa_gui-qt4/eventhistory.ui.h#3 delete
.. //depot/projects/wifi/contrib/wpa_supplicant/wpa_gui-qt4/networkconfig.ui.h#3 delete
.. //depot/projects/wifi/contrib/wpa_supplicant/wpa_gui-qt4/scanresults.ui.h#3 delete
.. //depot/projects/wifi/contrib/wpa_supplicant/wpa_gui-qt4/userdatarequest.ui.h#3 delete
.. //depot/projects/wifi/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.ui.h#3 delete
.. //depot/projects/wifi/contrib/wpa_supplicant/x509v3.c#2 integrate
.. //depot/projects/wifi/contrib/wpa_supplicant/x509v3.h#2 integrate
.. //depot/projects/wifi/include/pthread_np.h#4 integrate
.. //depot/projects/wifi/lib/libc/net/getaddrinfo.c#13 integrate
.. //depot/projects/wifi/lib/libc/stdlib/malloc.3#9 integrate
.. //depot/projects/wifi/lib/libc/stdlib/malloc.c#11 integrate
.. //depot/projects/wifi/lib/libc/sys/sendfile.2#5 integrate
.. //depot/projects/wifi/lib/libelf/gelf_fsize.3#2 integrate
.. //depot/projects/wifi/lib/librpcsvc/Makefile#7 integrate
.. //depot/projects/wifi/lib/librpcsvc/xcrypt.c#3 integrate
.. //depot/projects/wifi/lib/libthr/pthread.map#11 integrate
.. //depot/projects/wifi/lib/libthr/thread/thr_mutex.c#10 integrate
.. //depot/projects/wifi/lib/msun/src/e_expf.c#6 integrate
.. //depot/projects/wifi/libexec/rtld-aout/support.c#3 delete
.. //depot/projects/wifi/libexec/rtld-aout/support.h#3 delete
.. //depot/projects/wifi/release/fixit.profile#4 integrate
.. //depot/projects/wifi/sbin/geom/core/geom.8#9 integrate
.. //depot/projects/wifi/sbin/geom/core/geom.c#14 integrate
.. //depot/projects/wifi/sbin/gpt/gpt.8#11 integrate
.. //depot/projects/wifi/sbin/gpt/migrate.c#6 integrate
.. //depot/projects/wifi/sbin/gpt/show.c#6 integrate
.. //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#74 integrate
.. //depot/projects/wifi/sbin/iscontrol/misc.c#2 integrate
.. //depot/projects/wifi/sbin/mount/mount.c#14 integrate
.. //depot/projects/wifi/sbin/natd/natd.8#5 integrate
.. //depot/projects/wifi/share/colldef/el_GR.ISO8859-7.src#2 integrate
.. //depot/projects/wifi/share/man/man4/Makefile#45 integrate
.. //depot/projects/wifi/share/man/man4/hptiop.4#2 integrate
.. //depot/projects/wifi/share/man/man4/hptrr.4#2 integrate
.. //depot/projects/wifi/share/man/man9/lock.9#9 integrate
.. //depot/projects/wifi/share/misc/committers-src.dot#7 integrate
.. //depot/projects/wifi/share/mk/bsd.dep.mk#5 integrate
.. //depot/projects/wifi/sys/arm/arm/genassym.c#9 integrate
.. //depot/projects/wifi/sys/arm/arm/locore.S#12 integrate
.. //depot/projects/wifi/sys/arm/arm/swtch.S#15 integrate
.. //depot/projects/wifi/sys/arm/include/asmacros.h#6 integrate
.. //depot/projects/wifi/sys/arm/include/atomic.h#17 integrate
.. //depot/projects/wifi/sys/arm/include/sysarch.h#4 integrate
.. //depot/projects/wifi/sys/conf/Makefile.arm#15 integrate
.. //depot/projects/wifi/sys/conf/kern.post.mk#16 integrate
.. //depot/projects/wifi/sys/dev/hptiop/hptiop.c#3 integrate
.. //depot/projects/wifi/sys/dev/hptiop/hptiop.h#2 integrate
.. //depot/projects/wifi/sys/dev/hptrr/amd64-elf.hptrr_lib.o.uu#2 integrate
.. //depot/projects/wifi/sys/dev/hptrr/array.h#2 integrate
.. //depot/projects/wifi/sys/dev/hptrr/him.h#2 integrate
.. //depot/projects/wifi/sys/dev/hptrr/himfuncs.h#2 integrate
.. //depot/projects/wifi/sys/dev/hptrr/hptintf.h#2 integrate
.. //depot/projects/wifi/sys/dev/hptrr/hptrr_config.c#2 integrate
.. //depot/projects/wifi/sys/dev/hptrr/hptrr_config.h#2 integrate
.. //depot/projects/wifi/sys/dev/hptrr/hptrr_os_bsd.c#2 integrate
.. //depot/projects/wifi/sys/dev/hptrr/hptrr_osm_bsd.c#3 integrate
.. //depot/projects/wifi/sys/dev/hptrr/i386-elf.hptrr_lib.o.uu#2 integrate
.. //depot/projects/wifi/sys/dev/hptrr/ldm.h#2 integrate
.. //depot/projects/wifi/sys/dev/hptrr/list.h#2 integrate
.. //depot/projects/wifi/sys/dev/hptrr/os_bsd.h#2 integrate
.. //depot/projects/wifi/sys/dev/hptrr/osm.h#2 integrate
.. //depot/projects/wifi/sys/dev/wpi/if_wpi.c#4 integrate
.. //depot/projects/wifi/sys/dev/wpi/if_wpireg.h#2 integrate
.. //depot/projects/wifi/sys/dev/wpi/if_wpivar.h#2 integrate
.. //depot/projects/wifi/sys/ia64/ia64/locore.S#4 integrate
.. //depot/projects/wifi/sys/ia64/ia64/machdep.c#22 integrate
.. //depot/projects/wifi/sys/ia64/include/md_var.h#7 integrate
.. //depot/projects/wifi/sys/kern/kern_lock.c#22 integrate
.. //depot/projects/wifi/sys/kern/kern_rwlock.c#13 integrate
.. //depot/projects/wifi/sys/kern/kern_timeout.c#13 integrate
.. //depot/projects/wifi/sys/kern/subr_lock.c#9 integrate
.. //depot/projects/wifi/sys/kern/subr_turnstile.c#14 integrate
.. //depot/projects/wifi/sys/kern/uipc_sockbuf.c#9 integrate
.. //depot/projects/wifi/sys/kern/uipc_socket.c#34 integrate
.. //depot/projects/wifi/sys/kern/uipc_syscalls.c#30 integrate
.. //depot/projects/wifi/sys/modules/wpi/Makefile#3 integrate
.. //depot/projects/wifi/sys/netgraph/ng_bpf.c#6 integrate
.. //depot/projects/wifi/sys/netgraph/ng_tee.c#4 integrate
.. //depot/projects/wifi/sys/sys/lockmgr.h#12 integrate
.. //depot/projects/wifi/sys/sys/param.h#35 integrate
.. //depot/projects/wifi/sys/sys/proc.h#38 integrate
.. //depot/projects/wifi/sys/sys/rwlock.h#9 integrate
.. //depot/projects/wifi/sys/sys/socket.h#13 integrate
.. //depot/projects/wifi/sys/sys/socketvar.h#16 integrate
.. //depot/projects/wifi/sys/tools/embed_mfs.sh#1 branch
.. //depot/projects/wifi/tools/regression/pthread/mutex_islocked_np/Makefile#1 branch
.. //depot/projects/wifi/tools/regression/pthread/mutex_islocked_np/mutex_islocked_np.c#1 branch
.. //depot/projects/wifi/tools/tools/crypto/cryptostats.c#2 integrate
.. //depot/projects/wifi/tools/tools/crypto/cryptotest.c#5 integrate
.. //depot/projects/wifi/usr.bin/calendar/calendars/calendar.freebsd#27 integrate
.. //depot/projects/wifi/usr.bin/kdump/Makefile#4 integrate
.. //depot/projects/wifi/usr.bin/logger/logger.c#5 integrate
.. //depot/projects/wifi/usr.bin/truss/Makefile#5 integrate
.. //depot/projects/wifi/usr.sbin/ypserv/yp_main.c#4 integrate
.. //depot/projects/wifi/usr.sbin/ypserv/ypserv.8#4 integrate

Differences ...

==== //depot/projects/wifi/Makefile.inc1#40 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile.inc1,v 1.596 2008/01/23 22:21:36 ru Exp $
+# $FreeBSD: src/Makefile.inc1,v 1.598 2008/02/05 15:41:58 des Exp $
 #
 # Make command line options:
 #	-DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir
@@ -313,8 +313,9 @@
 .endif
 .else
 	rm -rf ${WORLDTMP}/legacy/usr/include
-#	XXX - These two can depend on any header file.
+#	XXX - These three can depend on any header file.
 	rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/ioctl.c
+	rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/kdump_subr.c
 	rm -f ${OBJTREE}${.CURDIR}/usr.bin/truss/ioctl.c
 .endif
 .for _dir in \

==== //depot/projects/wifi/contrib/hostapd/aes.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/ap_list.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/ap_list.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/beacon.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/beacon.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/build_config.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/des.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/eap_aka.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/eap_gpsk.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/eap_gpsk_common.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/eap_gpsk_common.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/eap_methods.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/eap_methods.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/eap_sake.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/eap_sake_common.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/eap_sake_common.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/eap_vendor_test.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/eloop_none.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/eloop_win.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/hlr_auc_gw.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/hlr_auc_gw.milenage_db#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/hostapd.vlan#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/hw_features.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/hw_features.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/ieee802_11h.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/ieee802_11h.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/includes.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/md4.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/milenage.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/milenage.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/mlme.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/mlme.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/os.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/os_unix.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/pmksa_cache.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/pmksa_cache.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/preauth.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/preauth.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/reconfig.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/sha256.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/sha256.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/state_machine.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/tls_gnutls.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/vlan_init.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/vlan_init.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/wme.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/wme.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/hostapd/wpa_common.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/pf/pflogd/pidfile.c#3 (text+ko) ====


==== //depot/projects/wifi/contrib/pf/pflogd/pidfile.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/aes.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/asn1.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/asn1.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/asn1_test.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/bignum.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/bignum.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/build_config.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/config_none.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/config_winreg.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/crypto_cryptoapi.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/crypto_internal.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/crypto_libtomcrypt.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/crypto_none.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/ctrl_iface_dbus.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/ctrl_iface_dbus.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/ctrl_iface_named_pipe.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/ctrl_iface_udp.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/ctrl_iface_unix.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/dbus-wpa_supplicant.conf#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/dbus_dict_helpers.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/dbus_dict_helpers.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/des.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/eap_gpsk.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/eap_gpsk_common.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/eap_gpsk_common.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/eap_methods.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/eap_methods.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/eap_sake.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/eap_sake_common.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/eap_sake_common.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/eap_vendor_test.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/eloop_none.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/eloop_win.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/includes.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/libtommath.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/md4.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/mlme.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/mlme.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/nmake.mak#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/openssl-0.9.8d-tls-extensions.patch#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/os.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/os_unix.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/pmksa_cache.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/pmksa_cache.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/rsa.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/rsa.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/sha256.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/sha256.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/state_machine.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/tls_internal.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/tlsv1_client.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/tlsv1_client.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/tlsv1_common.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/tlsv1_common.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/wpa_common.h#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/x509v3.c#2 (text+ko) ====


==== //depot/projects/wifi/contrib/wpa_supplicant/x509v3.h#2 (text+ko) ====


==== //depot/projects/wifi/include/pthread_np.h#4 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/include/pthread_np.h,v 1.18 2007/12/14 06:25:56 davidxu Exp $
+ * $FreeBSD: src/include/pthread_np.h,v 1.19 2008/02/03 22:38:10 des Exp $
  */
 #ifndef _PTHREAD_NP_H_
 #define _PTHREAD_NP_H_
@@ -53,6 +53,7 @@
 int pthread_mutex_setspinloops_np(pthread_mutex_t *mutex, int count);
 int pthread_mutex_getyieldloops_np(pthread_mutex_t *mutex, int *count);
 int pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count);
+int pthread_mutex_islocked_np(pthread_mutex_t *mutex);
 int pthread_single_np(void);
 void pthread_suspend_all_np(void);
 int pthread_suspend_np(pthread_t);

==== //depot/projects/wifi/lib/libc/net/getaddrinfo.c#13 (text+ko) ====

@@ -54,7 +54,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.86 2007/09/05 18:08:14 jinmei Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.87 2008/02/03 19:07:55 ume Exp $");
 
 #include "namespace.h"
 #include <sys/types.h>
@@ -425,27 +425,6 @@
 	}
 
 	/*
-	 * post-2553: AI_ALL and AI_V4MAPPED are effective only against
-	 * AF_INET6 query.  They need to be ignored if specified in other
-	 * occassions.
-	 */
-	switch (pai->ai_flags & (AI_ALL | AI_V4MAPPED)) {
-	case AI_V4MAPPED:
-	case AI_ALL | AI_V4MAPPED:
-		if (pai->ai_family != AF_INET6)
-			pai->ai_flags &= ~(AI_ALL | AI_V4MAPPED);
-		break;
-	case AI_ALL:
-#if 1
-		/* illegal */
-		ERR(EAI_BADFLAGS);
-#else
-		pai->ai_flags &= ~(AI_ALL | AI_V4MAPPED);
-#endif
-		break;
-	}
-
-	/*
 	 * check for special cases.  (1) numeric servname is disallowed if
 	 * socktype/protocol are left unspecified. (2) servname is disallowed
 	 * for raw and other inet{,6} sockets.

==== //depot/projects/wifi/lib/libc/stdlib/malloc.3#9 (text+ko) ====

@@ -30,9 +30,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)malloc.3	8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/stdlib/malloc.3,v 1.76 2008/01/03 23:22:13 jasone Exp $
+.\" $FreeBSD: src/lib/libc/stdlib/malloc.3,v 1.77 2008/02/06 02:59:54 jasone Exp $
 .\"
-.Dd January 3, 2008
+.Dd February 5, 2008
 .Dt MALLOC 3
 .Os
 .Sh NAME
@@ -95,7 +95,7 @@
 The contents of the memory are unchanged up to the lesser of the new and
 old sizes.
 If the new size is larger,
-the value of the newly allocated portion of the memory is undefined.
+the contents of the newly allocated portion of the memory are undefined.
 Upon success, the memory referenced by
 .Fa ptr
 is freed and a pointer to the newly allocated memory is returned.
@@ -204,15 +204,16 @@
 See the
 .Dq M
 option for related information and interactions.
-.It H
-Use
-.Xr madvise 2
-when pages within a chunk are no longer in use, but the chunk as a whole cannot
-yet be deallocated.
-This is primarily of use when swapping is a real possibility, due to the high
-overhead of the
-.Fn madvise
-system call.
+.It F
+Double/halve the per-arena maximum number of dirty unused pages that are
+allowed to accumulate before informing the kernel about at least half of those
+pages via
+.Xr madvise 2 .
+This provides the kernel with sufficient information to recycle dirty pages if
+physical memory becomes scarce and the pages remain unused.
+The default is 512 pages per arena;
+.Ev MALLOC_OPTIONS=10f
+will prevent any dirty unused pages from accumulating.
 .It J
 Each byte of new memory allocated by
 .Fn malloc ,
@@ -384,11 +385,12 @@
 Huge objects are used by applications infrequently enough that this single
 data structure is not a scalability issue.
 .Pp
-Each chunk that is managed by an arena tracks its contents in a page map as
-runs of contiguous pages (unused, backing a set of small objects, or backing
-one large object).
+Each chunk that is managed by an arena tracks its contents as runs of
+contiguous pages (unused, backing a set of small objects, or backing one large
+object).
 The combination of chunk alignment and chunk page maps makes it possible to
-determine all metadata regarding small and large allocations in constant time.
+determine all metadata regarding small and large allocations in
+constant and logarithmic time, respectively.
 .Pp
 Small objects are managed in groups by page runs.
 Each run maintains a bitmap that tracks which regions are in use.

==== //depot/projects/wifi/lib/libc/stdlib/malloc.c#11 (text+ko) ====

@@ -134,7 +134,7 @@
 #define	MALLOC_DSS
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.161 2008/01/03 23:22:13 jasone Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.162 2008/02/06 02:59:54 jasone Exp $");
 
 #include "libc_private.h"
 #ifdef MALLOC_DEBUG
@@ -254,6 +254,9 @@
  */
 #define	CHUNK_2POW_DEFAULT	20
 
+/* Maximum number of dirty pages per arena. */
+#define	DIRTY_MAX_DEFAULT	(1U << 9)
+
 /*
  * Maximum size of L1 cache line.  This is used to avoid cache line aliasing,
  * so over-estimates are okay (up to a point), but under-estimates will
@@ -294,7 +297,11 @@
 #define	RUN_MAX_OVRHD		0x0000003dU
 #define	RUN_MAX_OVRHD_RELAX	0x00001800U
 
-/* Put a cap on small object run size.  This overrides RUN_MAX_OVRHD. */
+/*
+ * Put a cap on small object run size.  This overrides RUN_MAX_OVRHD.  Note
+ * that small runs must be small enough that page offsets can fit within the
+ * CHUNK_MAP_POS_MASK bits.
+ */
 #define	RUN_MAX_SMALL_2POW	15
 #define	RUN_MAX_SMALL		(1U << RUN_MAX_SMALL_2POW)
 
@@ -405,6 +412,15 @@
 	/* Number of bytes currently mapped. */
 	size_t		mapped;
 
+	/*
+	 * Total number of purge sweeps, total number of madvise calls made,
+	 * and total pages purged in order to keep dirty unused memory under
+	 * control.
+	 */
+	uint64_t	npurge;
+	uint64_t	nmadvise;
+	uint64_t	purged;
+
 	/* Per-size-category statistics. */
 	size_t		allocated_small;
 	uint64_t	nmalloc_small;
@@ -440,37 +456,28 @@
 
 /******************************************************************************/
 /*
- * Chunk data structures.
+ * Extent data structures.
  */
 
-/* Tree of chunks. */
-typedef struct chunk_node_s chunk_node_t;
-struct chunk_node_s {
-	/* Linkage for the address-ordered chunk tree. */
-	RB_ENTRY(chunk_node_s) link_ad;
+/* Tree of extents. */
+typedef struct extent_node_s extent_node_t;
+struct extent_node_s {
+	/* Linkage for the size/address-ordered tree. */
+	RB_ENTRY(extent_node_s) link_szad;
 
-#ifdef MALLOC_DSS
-	/* Linkage for the size/address-ordered chunk tree. */
-	RB_ENTRY(chunk_node_s) link_szad;
-#endif
+	/* Linkage for the address-ordered tree. */
+	RB_ENTRY(extent_node_s) link_ad;
 
-	/*
-	 * Pointer to the chunk that this tree node is responsible for.  In some
-	 * (but certainly not all) cases, this data structure is placed at the
-	 * beginning of the corresponding chunk, so this field may point to this
-	 * node.
-	 */
-	void	*chunk;
+	/* Pointer to the extent that this tree node is responsible for. */
+	void	*addr;
 
-	/* Total chunk size. */
+	/* Total region size. */
 	size_t	size;
 };
-typedef struct chunk_tree_ad_s chunk_tree_ad_t;
-RB_HEAD(chunk_tree_ad_s, chunk_node_s);
-#ifdef MALLOC_DSS
-typedef struct chunk_tree_szad_s chunk_tree_szad_t;
-RB_HEAD(chunk_tree_szad_s, chunk_node_s);
-#endif
+typedef struct extent_tree_szad_s extent_tree_szad_t;
+RB_HEAD(extent_tree_szad_s, extent_node_s);
+typedef struct extent_tree_ad_s extent_tree_ad_t;
+RB_HEAD(extent_tree_ad_s, extent_node_s);
 
 /******************************************************************************/
 /*
@@ -480,37 +487,21 @@
 typedef struct arena_s arena_t;
 typedef struct arena_bin_s arena_bin_t;
 
-typedef struct arena_chunk_map_s arena_chunk_map_t;
-struct arena_chunk_map_s {
-	/*
-	 * Number of pages in run.  For a free run that has never been touched,
-	 * this is NPAGES_EMPTY for the central pages, which allows us to avoid
-	 * zero-filling untouched pages for calloc().
-	 */
-#define	NPAGES_EMPTY ((uint32_t)0x0U)
-	uint32_t	npages;
-	/*
-	 * Position within run.  For a free run, this is POS_EMPTY/POS_FREE for
-	 * the first and last pages.  The special values make it possible to
-	 * quickly coalesce free runs.  POS_EMPTY indicates that the run has
-	 * never been touched, which allows us to avoid zero-filling untouched
-	 * pages for calloc().
-	 *
-	 * This is the limiting factor for chunksize; there can be at most 2^31
-	 * pages in a run.
-	 *
-	 * POS_EMPTY is assumed by arena_run_dalloc() to be less than POS_FREE.
-	 */
-#define	POS_EMPTY ((uint32_t)0xfffffffeU)
-#define	POS_FREE ((uint32_t)0xffffffffU)
-	uint32_t	pos;
-};
+/*
+ * Each map element contains several flags, plus page position for runs that
+ * service small allocations.
+ */
+typedef uint8_t arena_chunk_map_t;
+#define	CHUNK_MAP_UNTOUCHED	0x80U
+#define	CHUNK_MAP_DIRTY		0x40U
+#define	CHUNK_MAP_LARGE		0x20U
+#define	CHUNK_MAP_POS_MASK	0x1fU
 
 /* Arena chunk header. */
 typedef struct arena_chunk_s arena_chunk_t;
 struct arena_chunk_s {
 	/* Arena that owns the chunk. */
-	arena_t *arena;
+	arena_t		*arena;
 
 	/* Linkage for the arena's chunk tree. */
 	RB_ENTRY(arena_chunk_s) link;
@@ -519,22 +510,17 @@
 	 * Number of pages in use.  This is maintained in order to make
 	 * detection of empty chunks fast.
 	 */
-	uint32_t pages_used;
+	size_t		pages_used;
 
-	/*
-	 * Every time a free run larger than this value is created/coalesced,
-	 * this value is increased.  The only way that the value decreases is if
-	 * arena_run_alloc() fails to find a free run as large as advertised by
-	 * this value.
-	 */
-	uint32_t max_frun_npages;
+	/* Number of dirty pages. */
+	size_t		ndirty;
 
 	/*
-	 * Every time a free run that starts at an earlier page than this value
-	 * is created/coalesced, this value is decreased.  It is reset in a
-	 * similar fashion to max_frun_npages.
+	 * Tree of extent nodes that are embedded in the arena chunk header
+	 * page(s).  These nodes are used by arena_chunk_node_alloc().
 	 */
-	uint32_t min_frun_ind;
+	extent_tree_ad_t nodes;
+	extent_node_t	*nodes_past;
 
 	/*
 	 * Map of pages within chunk that keeps track of free/large/small.  For
@@ -629,7 +615,8 @@
 	/*
 	 * In order to avoid rapid chunk allocation/deallocation when an arena
 	 * oscillates right on the cusp of needing a new chunk, cache the most
-	 * recently freed chunk.  This caching is disabled by opt_hint.
+	 * recently freed chunk.  The spare is left in the arena's chunk tree
+	 * until it is deleted.
 	 *
 	 * There is one spare chunk per arena, rather than one spare total, in
 	 * order to avoid interactions between multiple threads that could make
@@ -637,6 +624,25 @@
 	 */
 	arena_chunk_t		*spare;
 
+	/*
+	 * Current count of pages within unused runs that are potentially
+	 * dirty, and for which madvise(... MADV_FREE) has not been called.  By
+	 * tracking this, we can institute a limit on how much dirty unused
+	 * memory is mapped for each arena.
+	 */
+	size_t			ndirty;
+
+	/*
+	 * Trees of this arena's available runs.  Two trees are maintained
+	 * using one set of nodes, since one is needed for first-best-fit run
+	 * allocation, and the other is needed for coalescing.
+	 */
+	extent_tree_szad_t	runs_avail_szad;
+	extent_tree_ad_t	runs_avail_ad;
+
+	/* Tree of this arena's allocated (in-use) runs. */
+	extent_tree_ad_t	runs_alloced_ad;
+
 #ifdef MALLOC_BALANCE
 	/*
 	 * The arena load balancing machinery needs to keep track of how much
@@ -709,8 +715,8 @@
 /* Various chunk-related settings. */
 static size_t		chunksize;
 static size_t		chunksize_mask; /* (chunksize - 1). */
-static unsigned		chunk_npages;
-static unsigned		arena_chunk_header_npages;
+static size_t		chunk_npages;
+static size_t		arena_chunk_header_npages;
 static size_t		arena_maxclass; /* Max size class for arenas. */
 
 /********/
@@ -722,7 +728,7 @@
 static malloc_mutex_t	huge_mtx;
 
 /* Tree of chunks that are stand-alone huge allocations. */
-static chunk_tree_ad_t	huge;
+static extent_tree_ad_t	huge;
 
 #ifdef MALLOC_DSS
 /*
@@ -740,11 +746,11 @@
 /*
  * Trees of chunks that were previously allocated (trees differ only in node
  * ordering).  These are used when allocating chunks, in an attempt to re-use
- * address space.  Depending on funcition, different tree orderings are needed,
+ * address space.  Depending on function, different tree orderings are needed,
  * which is why there are two trees with the same contents.
  */
-static chunk_tree_ad_t	dss_chunks_ad;
-static chunk_tree_szad_t dss_chunks_szad;
+static extent_tree_szad_t dss_chunks_szad;
+static extent_tree_ad_t	dss_chunks_ad;
 #endif
 
 #ifdef MALLOC_STATS
@@ -767,7 +773,7 @@
 static void		*base_pages;
 static void		*base_next_addr;
 static void		*base_past_addr; /* Addr immediately past base_pages. */
-static chunk_node_t	*base_chunk_nodes; /* LIFO cache of chunk nodes. */
+static extent_node_t	*base_nodes;
 static malloc_mutex_t	base_mtx;
 #ifdef MALLOC_STATS
 static size_t		base_mapped;
@@ -791,7 +797,7 @@
 static unsigned		next_arena;
 #  endif
 #endif
-static pthread_mutex_t arenas_lock; /* Protects arenas initialization. */
+static pthread_mutex_t	arenas_lock; /* Protects arenas initialization. */
 
 #ifndef NO_TLS
 /*
@@ -823,7 +829,7 @@
 static bool	opt_dss = true;
 static bool	opt_mmap = true;
 #endif
-static bool	opt_hint = false;
+static size_t	opt_dirty_max = DIRTY_MAX_DEFAULT;
 #ifdef MALLOC_LAZY_FREE
 static int	opt_lazy_free_2pow = LAZY_FREE_2POW_DEFAULT;
 #endif
@@ -848,7 +854,10 @@
 
 #define	UTRACE(a, b, c)							\
 	if (opt_utrace) {						\
-		malloc_utrace_t ut = {a, b, c};				\
+		malloc_utrace_t ut;					\
+		ut.p = (a);						\
+		ut.s = (b);						\
+		ut.r = (c);						\
 		utrace(&ut, sizeof(ut));				\
 	}
 
@@ -865,36 +874,73 @@
 static void	malloc_printf(const char *format, ...);
 #endif
 static char	*umax2s(uintmax_t x, char *s);
+#ifdef MALLOC_DSS
+static bool	base_pages_alloc_dss(size_t minsize);
+#endif
+static bool	base_pages_alloc_mmap(size_t minsize);
 static bool	base_pages_alloc(size_t minsize);
 static void	*base_alloc(size_t size);
 static void	*base_calloc(size_t number, size_t size);
-static chunk_node_t *base_chunk_node_alloc(void);
-static void	base_chunk_node_dealloc(chunk_node_t *node);
+static extent_node_t *base_node_alloc(void);
+static void	base_node_dealloc(extent_node_t *node);
 #ifdef MALLOC_STATS
 static void	stats_print(arena_t *arena);
 #endif
 static void	*pages_map(void *addr, size_t size);
 static void	pages_unmap(void *addr, size_t size);
+#ifdef MALLOC_DSS

>>> TRUNCATED FOR MAIL (1000 lines) <<<



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