Date: Tue, 6 Apr 2004 21:18:06 -0700 (PDT) From: Warner Losh <imp@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 50563 for review Message-ID: <200404070418.i374I6Aq077168@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=50563 Change 50563 by imp@imp_pacopaco on 2004/04/06 21:17:36 IFC @50555 Affected files ... .. //depot/projects/power/sys/amd64/amd64/db_interface.c#4 integrate .. //depot/projects/power/sys/amd64/amd64/identcpu.c#5 integrate .. //depot/projects/power/sys/amd64/include/cpufunc.h#6 integrate .. //depot/projects/power/sys/conf/options#10 integrate .. //depot/projects/power/sys/dev/bge/if_bge.c#7 integrate .. //depot/projects/power/sys/dev/pccbb/pccbb.c#9 integrate .. //depot/projects/power/sys/dev/usb/if_rue.c#6 integrate .. //depot/projects/power/sys/kern/kern_condvar.c#4 integrate .. //depot/projects/power/sys/kern/kern_mutex.c#5 integrate .. //depot/projects/power/sys/kern/kern_timeout.c#5 integrate .. //depot/projects/power/sys/kern/subr_turnstile.c#4 integrate .. //depot/projects/power/sys/netipsec/key.c#4 integrate .. //depot/projects/power/sys/sys/callout.h#2 integrate .. //depot/projects/power/sys/sys/condvar.h#4 integrate .. //depot/projects/power/sys/sys/turnstile.h#3 integrate .. //depot/projects/power/sys/ufs/ffs/ffs_softdep.c#5 integrate .. //depot/projects/power/sys/vm/device_pager.c#4 integrate .. //depot/projects/power/sys/vm/pmap.h#5 integrate .. //depot/projects/power/sys/vm/swap_pager.h#2 integrate .. //depot/projects/power/sys/vm/vm.h#2 integrate .. //depot/projects/power/sys/vm/vm_contig.c#6 integrate .. //depot/projects/power/sys/vm/vm_extern.h#5 integrate .. //depot/projects/power/sys/vm/vm_glue.c#5 integrate .. //depot/projects/power/sys/vm/vm_init.c#3 integrate .. //depot/projects/power/sys/vm/vm_kern.c#8 integrate .. //depot/projects/power/sys/vm/vm_kern.h#2 integrate .. //depot/projects/power/sys/vm/vm_map.c#6 integrate .. //depot/projects/power/sys/vm/vm_map.h#5 integrate .. //depot/projects/power/sys/vm/vm_meter.c#3 integrate .. //depot/projects/power/sys/vm/vm_mmap.c#7 integrate .. //depot/projects/power/sys/vm/vm_object.c#8 integrate .. //depot/projects/power/sys/vm/vm_object.h#3 integrate .. //depot/projects/power/sys/vm/vm_page.c#8 integrate .. //depot/projects/power/sys/vm/vm_page.h#6 integrate .. //depot/projects/power/sys/vm/vm_pageout.h#3 integrate .. //depot/projects/power/sys/vm/vm_pager.c#4 integrate .. //depot/projects/power/sys/vm/vm_pager.h#4 integrate .. //depot/projects/power/sys/vm/vm_param.h#2 integrate .. //depot/projects/power/sys/vm/vm_unix.c#3 integrate .. //depot/projects/power/sys/vm/vnode_pager.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/cat/cat.1#3 integrate .. //depot/user/imp/freebsd-imp/bin/cat/cat.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/chflags/chflags.1#4 integrate .. //depot/user/imp/freebsd-imp/bin/chflags/chflags.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/chmod/chmod.1#6 integrate .. //depot/user/imp/freebsd-imp/bin/chmod/chmod.c#6 integrate .. //depot/user/imp/freebsd-imp/bin/cp/cp.1#4 integrate .. //depot/user/imp/freebsd-imp/bin/cp/cp.c#7 integrate .. //depot/user/imp/freebsd-imp/bin/cp/extern.h#4 integrate .. //depot/user/imp/freebsd-imp/bin/cp/utils.c#6 integrate .. //depot/user/imp/freebsd-imp/bin/csh/USD.doc/csh.1#3 integrate .. //depot/user/imp/freebsd-imp/bin/csh/USD.doc/csh.2#2 integrate .. //depot/user/imp/freebsd-imp/bin/csh/USD.doc/csh.3#2 integrate .. //depot/user/imp/freebsd-imp/bin/csh/USD.doc/csh.4#2 integrate .. //depot/user/imp/freebsd-imp/bin/csh/USD.doc/csh.a#2 integrate .. //depot/user/imp/freebsd-imp/bin/csh/USD.doc/csh.g#3 integrate .. //depot/user/imp/freebsd-imp/bin/csh/USD.doc/tabs#2 integrate .. //depot/user/imp/freebsd-imp/bin/csh/host.defs#2 integrate .. //depot/user/imp/freebsd-imp/bin/date/date.1#6 integrate .. //depot/user/imp/freebsd-imp/bin/date/date.c#6 integrate .. //depot/user/imp/freebsd-imp/bin/date/extern.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/date/netdate.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/dd/args.c#5 integrate .. //depot/user/imp/freebsd-imp/bin/dd/conv.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/dd/conv_tab.c#2 integrate .. //depot/user/imp/freebsd-imp/bin/dd/dd.1#4 integrate .. //depot/user/imp/freebsd-imp/bin/dd/dd.c#6 integrate .. //depot/user/imp/freebsd-imp/bin/dd/dd.h#5 integrate .. //depot/user/imp/freebsd-imp/bin/dd/extern.h#3 integrate .. //depot/user/imp/freebsd-imp/bin/dd/misc.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/dd/position.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/df/df.1#4 integrate .. //depot/user/imp/freebsd-imp/bin/df/df.c#14 integrate .. //depot/user/imp/freebsd-imp/bin/domainname/domainname.1#2 integrate .. //depot/user/imp/freebsd-imp/bin/domainname/domainname.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/echo/echo.1#4 integrate .. //depot/user/imp/freebsd-imp/bin/echo/echo.c#5 integrate .. //depot/user/imp/freebsd-imp/bin/ed/cbc.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/hostname/hostname.1#2 integrate .. //depot/user/imp/freebsd-imp/bin/hostname/hostname.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/kill/kill.1#2 integrate .. //depot/user/imp/freebsd-imp/bin/kill/kill.c#5 integrate .. //depot/user/imp/freebsd-imp/bin/ln/ln.1#2 integrate .. //depot/user/imp/freebsd-imp/bin/ln/ln.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/ln/symlink.7#2 integrate .. //depot/user/imp/freebsd-imp/bin/ls/cmp.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/ls/extern.h#5 integrate .. //depot/user/imp/freebsd-imp/bin/ls/ls.1#12 integrate .. //depot/user/imp/freebsd-imp/bin/ls/ls.c#11 integrate .. //depot/user/imp/freebsd-imp/bin/ls/ls.h#4 integrate .. //depot/user/imp/freebsd-imp/bin/ls/print.c#14 integrate .. //depot/user/imp/freebsd-imp/bin/ls/util.c#5 integrate .. //depot/user/imp/freebsd-imp/bin/mkdir/mkdir.1#2 integrate .. //depot/user/imp/freebsd-imp/bin/mkdir/mkdir.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/mv/mv.1#2 integrate .. //depot/user/imp/freebsd-imp/bin/mv/mv.c#5 integrate .. //depot/user/imp/freebsd-imp/bin/pax/ar_io.c#5 integrate .. //depot/user/imp/freebsd-imp/bin/pax/ar_subs.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/pax/buf_subs.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/pax/cache.c#5 integrate .. //depot/user/imp/freebsd-imp/bin/pax/cache.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/pax/cpio.c#6 integrate .. //depot/user/imp/freebsd-imp/bin/pax/cpio.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/pax/extern.h#3 integrate .. //depot/user/imp/freebsd-imp/bin/pax/file_subs.c#2 integrate .. //depot/user/imp/freebsd-imp/bin/pax/ftree.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/pax/ftree.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/pax/gen_subs.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/pax/options.c#6 integrate .. //depot/user/imp/freebsd-imp/bin/pax/options.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/pax/pat_rep.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/pax/pat_rep.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/pax/pax.1#4 integrate .. //depot/user/imp/freebsd-imp/bin/pax/pax.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/pax/pax.h#4 integrate .. //depot/user/imp/freebsd-imp/bin/pax/sel_subs.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/pax/sel_subs.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/pax/tables.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/pax/tables.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/pax/tar.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/pax/tar.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/pax/tty_subs.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/ps/extern.h#7 integrate .. //depot/user/imp/freebsd-imp/bin/ps/fmt.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/ps/keyword.c#10 integrate .. //depot/user/imp/freebsd-imp/bin/ps/nlist.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/ps/print.c#11 integrate .. //depot/user/imp/freebsd-imp/bin/ps/ps.1#16 integrate .. //depot/user/imp/freebsd-imp/bin/ps/ps.c#12 integrate .. //depot/user/imp/freebsd-imp/bin/ps/ps.h#5 integrate .. //depot/user/imp/freebsd-imp/bin/pwd/pwd.1#4 integrate .. //depot/user/imp/freebsd-imp/bin/pwd/pwd.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/rcp/extern.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/rcp/rcp.1#2 integrate .. //depot/user/imp/freebsd-imp/bin/rcp/util.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/realpath/realpath.1#2 integrate .. //depot/user/imp/freebsd-imp/bin/realpath/realpath.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/rm/rm.1#3 integrate .. //depot/user/imp/freebsd-imp/bin/rm/rm.c#6 integrate .. //depot/user/imp/freebsd-imp/bin/rmdir/rmdir.1#3 integrate .. //depot/user/imp/freebsd-imp/bin/rmdir/rmdir.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/sh/alias.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/sh/alias.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/arith.h#4 integrate .. //depot/user/imp/freebsd-imp/bin/sh/arith.y#6 integrate .. //depot/user/imp/freebsd-imp/bin/sh/arith_lex.l#6 integrate .. //depot/user/imp/freebsd-imp/bin/sh/bltin/bltin.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/bltin/echo.1#3 integrate .. //depot/user/imp/freebsd-imp/bin/sh/bltin/echo.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/sh/builtins.def#3 integrate .. //depot/user/imp/freebsd-imp/bin/sh/cd.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/sh/cd.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/error.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/sh/error.h#3 integrate .. //depot/user/imp/freebsd-imp/bin/sh/eval.c#5 integrate .. //depot/user/imp/freebsd-imp/bin/sh/eval.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/exec.c#5 integrate .. //depot/user/imp/freebsd-imp/bin/sh/exec.h#3 integrate .. //depot/user/imp/freebsd-imp/bin/sh/expand.c#9 integrate .. //depot/user/imp/freebsd-imp/bin/sh/expand.h#3 integrate .. //depot/user/imp/freebsd-imp/bin/sh/funcs/cmv#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/funcs/dirs#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/funcs/kill#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/funcs/login#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/funcs/newgrp#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/funcs/popd#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/funcs/pushd#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/funcs/suspend#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/histedit.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/sh/init.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/input.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/sh/input.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/jobs.c#10 integrate .. //depot/user/imp/freebsd-imp/bin/sh/jobs.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/mail.c#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/mail.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/main.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/sh/main.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/memalloc.c#7 integrate .. //depot/user/imp/freebsd-imp/bin/sh/memalloc.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/miscbltin.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/sh/mkbuiltins#4 integrate .. //depot/user/imp/freebsd-imp/bin/sh/mkinit.c#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/mknodes.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/sh/mksyntax.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/sh/mktokens#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/myhistedit.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/mystring.c#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/mystring.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/nodes.c.pat#7 integrate .. //depot/user/imp/freebsd-imp/bin/sh/nodetypes#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/options.c#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/options.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/output.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/sh/output.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/parser.c#7 integrate .. //depot/user/imp/freebsd-imp/bin/sh/parser.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/redir.c#5 integrate .. //depot/user/imp/freebsd-imp/bin/sh/redir.h#3 integrate .. //depot/user/imp/freebsd-imp/bin/sh/sh.1#9 integrate .. //depot/user/imp/freebsd-imp/bin/sh/shell.h#4 integrate .. //depot/user/imp/freebsd-imp/bin/sh/show.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/sh/show.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/trap.c#4 integrate .. //depot/user/imp/freebsd-imp/bin/sh/trap.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/sh/var.c#5 integrate .. //depot/user/imp/freebsd-imp/bin/sh/var.h#3 integrate .. //depot/user/imp/freebsd-imp/bin/sleep/sleep.1#2 integrate .. //depot/user/imp/freebsd-imp/bin/sleep/sleep.c#5 integrate .. //depot/user/imp/freebsd-imp/bin/stty/cchar.c#2 integrate .. //depot/user/imp/freebsd-imp/bin/stty/extern.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/stty/gfmt.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/stty/key.c#2 integrate .. //depot/user/imp/freebsd-imp/bin/stty/modes.c#2 integrate .. //depot/user/imp/freebsd-imp/bin/stty/print.c#2 integrate .. //depot/user/imp/freebsd-imp/bin/stty/stty.1#2 integrate .. //depot/user/imp/freebsd-imp/bin/stty/stty.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/stty/stty.h#2 integrate .. //depot/user/imp/freebsd-imp/bin/stty/util.c#2 integrate .. //depot/user/imp/freebsd-imp/bin/sync/sync.8#2 integrate .. //depot/user/imp/freebsd-imp/bin/sync/sync.c#3 integrate .. //depot/user/imp/freebsd-imp/bin/test/test.1#2 integrate .. //depot/user/imp/freebsd-imp/etc/rc.d/ramdisk#3 integrate .. //depot/user/imp/freebsd-imp/etc/rc.d/ramdisk-own#2 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/archive_entry.c#5 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/archive_entry.h#4 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/archive_private.h#5 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/archive_read_extract.c#4 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/archive_write_set_format_pax.c#5 integrate .. //depot/user/imp/freebsd-imp/share/man/man9/suser.9#3 integrate .. //depot/user/imp/freebsd-imp/share/man/man9/sysctl_ctx_init.9#2 integrate .. //depot/user/imp/freebsd-imp/share/man/man9/timeout.9#3 integrate .. //depot/user/imp/freebsd-imp/sys/amd64/amd64/db_interface.c#6 integrate .. //depot/user/imp/freebsd-imp/sys/amd64/amd64/identcpu.c#9 integrate .. //depot/user/imp/freebsd-imp/sys/amd64/include/cpufunc.h#11 integrate .. //depot/user/imp/freebsd-imp/sys/dev/pccbb/pccbb.c#36 integrate .. //depot/user/imp/freebsd-imp/sys/kern/kern_timeout.c#12 integrate .. //depot/user/imp/freebsd-imp/sys/netipsec/key.c#11 integrate .. //depot/user/imp/freebsd-imp/sys/sys/callout.h#2 integrate .. //depot/user/imp/freebsd-imp/sys/vm/device_pager.c#12 integrate .. //depot/user/imp/freebsd-imp/sys/vm/pmap.h#19 integrate .. //depot/user/imp/freebsd-imp/sys/vm/swap_pager.h#10 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm.h#3 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_contig.c#21 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_extern.h#12 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_glue.c#30 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_init.c#8 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_kern.c#23 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_kern.h#4 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_map.c#47 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_map.h#15 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_meter.c#11 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_mmap.c#28 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_object.c#64 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_object.h#21 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_page.c#49 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_page.h#16 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_pageout.h#9 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_pager.c#11 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_pager.h#11 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_param.h#4 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_unix.c#5 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vnode_pager.h#2 integrate .. //depot/user/imp/freebsd-imp/usr.bin/tar/write.c#2 integrate .. //depot/user/imp/newcard/amd64/amd64/db_interface.c#6 integrate .. //depot/user/imp/newcard/amd64/amd64/identcpu.c#9 integrate .. //depot/user/imp/newcard/amd64/include/cpufunc.h#11 integrate .. //depot/user/imp/newcard/dev/pccbb/pccbb.c#93 integrate .. //depot/user/imp/newcard/kern/kern_timeout.c#14 integrate .. //depot/user/imp/newcard/netipsec/key.c#11 integrate .. //depot/user/imp/newcard/sys/callout.h#3 integrate .. //depot/user/imp/newcard/vm/device_pager.c#13 integrate .. //depot/user/imp/newcard/vm/pmap.h#21 integrate .. //depot/user/imp/newcard/vm/swap_pager.h#12 integrate .. //depot/user/imp/newcard/vm/vm.h#4 integrate .. //depot/user/imp/newcard/vm/vm_contig.c#25 integrate .. //depot/user/imp/newcard/vm/vm_extern.h#15 integrate .. //depot/user/imp/newcard/vm/vm_glue.c#36 integrate .. //depot/user/imp/newcard/vm/vm_init.c#10 integrate .. //depot/user/imp/newcard/vm/vm_kern.c#27 integrate .. //depot/user/imp/newcard/vm/vm_kern.h#5 integrate .. //depot/user/imp/newcard/vm/vm_map.c#52 integrate .. //depot/user/imp/newcard/vm/vm_map.h#18 integrate .. //depot/user/imp/newcard/vm/vm_meter.c#13 integrate .. //depot/user/imp/newcard/vm/vm_mmap.c#30 integrate .. //depot/user/imp/newcard/vm/vm_object.c#72 integrate .. //depot/user/imp/newcard/vm/vm_object.h#24 integrate .. //depot/user/imp/newcard/vm/vm_page.c#60 integrate .. //depot/user/imp/newcard/vm/vm_page.h#23 integrate .. //depot/user/imp/newcard/vm/vm_pageout.h#10 integrate .. //depot/user/imp/newcard/vm/vm_pager.c#12 integrate .. //depot/user/imp/newcard/vm/vm_pager.h#12 integrate .. //depot/user/imp/newcard/vm/vm_param.h#4 integrate .. //depot/user/imp/newcard/vm/vm_unix.c#7 integrate .. //depot/user/imp/newcard/vm/vnode_pager.h#3 integrate .. //depot/user/imp/pc98/amd64/amd64/db_interface.c#6 integrate .. //depot/user/imp/pc98/amd64/amd64/identcpu.c#9 integrate .. //depot/user/imp/pc98/amd64/include/cpufunc.h#11 integrate .. //depot/user/imp/pc98/dev/pccbb/pccbb.c#27 integrate .. //depot/user/imp/pc98/kern/kern_timeout.c#11 integrate .. //depot/user/imp/pc98/netipsec/key.c#7 integrate .. //depot/user/imp/pc98/sys/callout.h#2 integrate .. //depot/user/imp/pc98/vm/device_pager.c#8 integrate .. //depot/user/imp/pc98/vm/pmap.h#11 integrate .. //depot/user/imp/pc98/vm/swap_pager.h#7 integrate .. //depot/user/imp/pc98/vm/vm.h#2 integrate .. //depot/user/imp/pc98/vm/vm_contig.c#17 integrate .. //depot/user/imp/pc98/vm/vm_extern.h#10 integrate .. //depot/user/imp/pc98/vm/vm_glue.c#22 integrate .. //depot/user/imp/pc98/vm/vm_init.c#7 integrate .. //depot/user/imp/pc98/vm/vm_kern.c#17 integrate .. //depot/user/imp/pc98/vm/vm_kern.h#3 integrate .. //depot/user/imp/pc98/vm/vm_map.c#29 integrate .. //depot/user/imp/pc98/vm/vm_map.h#11 integrate .. //depot/user/imp/pc98/vm/vm_meter.c#4 integrate .. //depot/user/imp/pc98/vm/vm_mmap.c#23 integrate .. //depot/user/imp/pc98/vm/vm_object.c#39 integrate .. //depot/user/imp/pc98/vm/vm_object.h#11 integrate .. //depot/user/imp/pc98/vm/vm_page.c#26 integrate .. //depot/user/imp/pc98/vm/vm_page.h#10 integrate .. //depot/user/imp/pc98/vm/vm_pageout.h#6 integrate .. //depot/user/imp/pc98/vm/vm_pager.c#9 integrate .. //depot/user/imp/pc98/vm/vm_pager.h#10 integrate .. //depot/user/imp/pc98/vm/vm_param.h#2 integrate .. //depot/user/imp/pc98/vm/vm_unix.c#5 integrate .. //depot/user/imp/pc98/vm/vnode_pager.h#2 integrate Differences ... ==== //depot/projects/power/sys/amd64/amd64/db_interface.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_interface.c,v 1.77 2004/02/05 17:35:28 kan Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_interface.c,v 1.78 2004/04/07 00:41:05 peter Exp $"); /* * Interface to new debugger. @@ -57,18 +57,6 @@ static jmp_buf db_global_jmpbuf; -static __inline u_short -rss(void) -{ - u_short ss; -#ifdef __GNUC__ - __asm __volatile("mov %%ss,%0" : "=r" (ss)); -#else - ss = 0; /* XXXX Fix for other compilers. */ -#endif - return ss; -} - /* * kdb_trap - field a TRACE or BPT trap */ ==== //depot/projects/power/sys/amd64/amd64/identcpu.c#5 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.130 2004/03/25 03:38:31 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.131 2004/04/07 00:44:15 peter Exp $"); #include "opt_cpu.h" @@ -338,6 +338,21 @@ } static void +print_AMD_l2_assoc(int i) +{ + switch (i & 0x0f) { + case 0: printf(", disabled/not present\n"); break; + case 1: printf(", direct mapped\n"); break; + case 2: printf(", 2-way associative\n"); break; + case 4: printf(", 4-way associative\n"); break; + case 6: printf(", 8-way associative\n"); break; + case 8: printf(", 16-way associative\n"); break; + case 15: printf(", fully associative\n"); break; + default: printf(", reserved configuration\n"); break; + } +} + +static void print_AMD_info(void) { @@ -345,24 +360,59 @@ u_int regs[4]; do_cpuid(0x80000005, regs); - printf("Data TLB: %d entries", (regs[1] >> 16) & 0xff); + printf("L1 2MB data TLB: %d entries", (regs[0] >> 16) & 0xff); + print_AMD_assoc(regs[0] >> 24); + + printf("L1 2MB instruction TLB: %d entries", regs[0] & 0xff); + print_AMD_assoc((regs[0] >> 8) & 0xff); + + printf("L1 4KB data TLB: %d entries", (regs[1] >> 16) & 0xff); print_AMD_assoc(regs[1] >> 24); - printf("Instruction TLB: %d entries", regs[1] & 0xff); + + printf("L1 4KB instruction TLB: %d entries", regs[1] & 0xff); print_AMD_assoc((regs[1] >> 8) & 0xff); + printf("L1 data cache: %d kbytes", regs[2] >> 24); printf(", %d bytes/line", regs[2] & 0xff); printf(", %d lines/tag", (regs[2] >> 8) & 0xff); print_AMD_assoc((regs[2] >> 16) & 0xff); + printf("L1 instruction cache: %d kbytes", regs[3] >> 24); printf(", %d bytes/line", regs[3] & 0xff); printf(", %d lines/tag", (regs[3] >> 8) & 0xff); print_AMD_assoc((regs[3] >> 16) & 0xff); - if (cpu_exthigh >= 0x80000006) { /* K6-III only */ + + if (cpu_exthigh >= 0x80000006) { do_cpuid(0x80000006, regs); - printf("L2 internal cache: %d kbytes", regs[2] >> 16); + if ((regs[0] >> 16) != 0) { + printf("L2 2MB data TLB: %d entries", + (regs[0] >> 16) & 0xfff); + print_AMD_l2_assoc(regs[0] >> 28); + printf("L2 2MB instruction TLB: %d entries", + regs[0] & 0xfff); + print_AMD_l2_assoc((regs[0] >> 28) & 0xf); + } else { + printf("L2 2MB unified TLB: %d entries", + regs[0] & 0xfff); + print_AMD_l2_assoc((regs[0] >> 28) & 0xf); + } + if ((regs[1] >> 16) != 0) { + printf("L2 4KB data TLB: %d entries", + (regs[1] >> 16) & 0xfff); + print_AMD_l2_assoc(regs[1] >> 28); + + printf("L2 4KB instruction TLB: %d entries", + (regs[1] >> 16) & 0xfff); + print_AMD_l2_assoc((regs[1] >> 28) & 0xf); + } else { + printf("L2 4KB unified TLB: %d entries", + (regs[1] >> 16) & 0xfff); + print_AMD_l2_assoc((regs[1] >> 28) & 0xf); + } + printf("L2 unified cache: %d kbytes", regs[2] >> 16); printf(", %d bytes/line", regs[2] & 0xff); printf(", %d lines/tag", (regs[2] >> 8) & 0x0f); - print_AMD_assoc((regs[2] >> 12) & 0x0f); + print_AMD_l2_assoc((regs[2] >> 12) & 0x0f); } } } ==== //depot/projects/power/sys/amd64/include/cpufunc.h#6 (text+ko) ==== @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/cpufunc.h,v 1.143 2004/04/05 23:55:14 imp Exp $ + * $FreeBSD: src/sys/amd64/include/cpufunc.h,v 1.144 2004/04/07 00:41:05 peter Exp $ */ /* @@ -498,6 +498,14 @@ return (sel); } +static __inline u_int +rss(void) +{ + u_int sel; + __asm __volatile("movl %%ss,%0" : "=rm" (sel)); + return (sel); +} + static __inline void load_ds(u_int sel) { ==== //depot/projects/power/sys/conf/options#10 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.438 2004/03/31 18:46:13 vkashyap Exp $ +# $FreeBSD: src/sys/conf/options,v 1.439 2004/04/06 19:12:24 jhb Exp $ # # On the handling of kernel options # @@ -97,6 +97,7 @@ MAC_TEST opt_dontuse.h MD_ROOT opt_md.h MD_ROOT_SIZE opt_md.h +MUTEX_WAKE_ALL NSWBUF_MIN opt_swap.h PANIC_REBOOT_WAIT_TIME opt_panic.h PPS_SYNC opt_ntp.h ==== //depot/projects/power/sys/dev/bge/if_bge.c#7 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.65 2004/03/17 17:50:28 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.66 2004/04/06 18:28:15 ps Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. @@ -2553,6 +2553,10 @@ pci_write_config(dev, BGE_PCI_CMD, command, 4); bge_writereg_ind(sc, BGE_MISC_CFG, (65 << 1)); + /* Enable memory arbiter. */ + if (sc->bge_asicrev != BGE_ASICREV_BCM5705) + CSR_WRITE_4(sc, BGE_MARB_MODE, BGE_MARBMODE_ENABLE); + /* * Prevent PXE restart: write a magic number to the * general communications memory at 0xB50. @@ -2590,10 +2594,6 @@ DELAY(10); } - /* Enable memory arbiter. */ - if (sc->bge_asicrev != BGE_ASICREV_BCM5705) - CSR_WRITE_4(sc, BGE_MARB_MODE, BGE_MARBMODE_ENABLE); - /* Fix up byte swapping */ CSR_WRITE_4(sc, BGE_MODE_CTL, BGE_MODECTL_BYTESWAP_NONFRAME| BGE_MODECTL_BYTESWAP_DATA); ==== //depot/projects/power/sys/dev/pccbb/pccbb.c#9 (text+ko) ==== @@ -73,7 +73,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb.c,v 1.103 2004/03/17 17:50:38 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb.c,v 1.106 2004/04/06 22:50:50 imp Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1322,7 +1322,9 @@ struct cbb_softc *sc = device_get_softc(brdev); int voltage; + /* Don't enable OE */ exca_clrb(&sc->exca, EXCA_PWRCTL, EXCA_PWRCTL_OE); + /* Prefer lowest voltage supported */ voltage = cbb_detect_voltage(brdev); cbb_power(brdev, CARD_OFF); @@ -1584,6 +1586,7 @@ struct cbb_softc *sc = device_get_softc(brdev); int tmp; struct resource *res; + u_long align; switch (type) { case SYS_RES_IRQ: @@ -1608,10 +1611,13 @@ start = cbb_start_mem; if (end < start) end = start; - /* This is now suspect: */ - if (RF_ALIGNMENT(flags) < CBB_MEMALIGN_BITS) - flags = (flags & ~RF_ALIGNMENT_MASK) | - rman_make_alignment_flags(CBB_MEMALIGN); + if (count < CBB_MEMALIGN) + align = CBB_MEMALIGN; + else + align = count; + if (align > (1 << RF_ALIGNMENT(flags))) + flags = (flags & ~RF_ALIGNMENT_MASK) | + rman_make_alignment_flags(align); break; } ==== //depot/projects/power/sys/dev/usb/if_rue.c#6 (text+ko) ==== @@ -56,7 +56,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/usb/if_rue.c,v 1.9 2004/03/14 07:12:23 mdodd Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_rue.c,v 1.10 2004/04/06 19:32:00 iedowse Exp $"); /* * RealTek RTL8150 USB to fast ethernet controller driver. @@ -776,14 +776,14 @@ struct mbuf *m_new = NULL; if (m == NULL) { - MGETHDR(m_new, M_NOWAIT, MT_DATA); + MGETHDR(m_new, M_DONTWAIT, MT_DATA); if (m_new == NULL) { printf("rue%d: no memory for rx list " "-- packet dropped!\n", sc->rue_unit); return (ENOBUFS); } - MCLGET(m_new, M_NOWAIT); + MCLGET(m_new, M_DONTWAIT); if (!(m_new->m_flags & M_EXT)) { printf("rue%d: no memory for rx list " "-- packet dropped!\n", sc->rue_unit); ==== //depot/projects/power/sys/kern/kern_condvar.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_condvar.c,v 1.47 2004/03/12 19:06:18 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_condvar.c,v 1.48 2004/04/06 19:17:46 jhb Exp $"); #include "opt_ktrace.h" @@ -65,6 +65,7 @@ { cvp->cv_description = desc; + cvp->cv_waiters = 0; } /* @@ -119,6 +120,7 @@ sq = sleepq_lookup(cvp); + cvp->cv_waiters++; DROP_GIANT(); mtx_unlock(mp); @@ -175,6 +177,7 @@ /* XXX: Missing the threading checks from msleep! */ + cvp->cv_waiters++; DROP_GIANT(); mtx_unlock(mp); @@ -241,6 +244,7 @@ sq = sleepq_lookup(cvp); + cvp->cv_waiters++; DROP_GIANT(); mtx_unlock(mp); @@ -299,6 +303,7 @@ sq = sleepq_lookup(cvp); + cvp->cv_waiters++; DROP_GIANT(); mtx_unlock(mp); @@ -341,7 +346,10 @@ cv_signal(struct cv *cvp) { - sleepq_signal(cvp, SLEEPQ_CONDVAR, -1); + if (cvp->cv_waiters > 0) { + cvp->cv_waiters--; + sleepq_signal(cvp, SLEEPQ_CONDVAR, -1); + } } /* @@ -352,5 +360,8 @@ cv_broadcastpri(struct cv *cvp, int pri) { - sleepq_broadcast(cvp, SLEEPQ_CONDVAR, pri); + if (cvp->cv_waiters > 0) { + cvp->cv_waiters = 0; + sleepq_broadcast(cvp, SLEEPQ_CONDVAR, pri); + } } ==== //depot/projects/power/sys/kern/kern_mutex.c#5 (text+ko) ==== @@ -34,10 +34,11 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.137 2004/01/28 22:11:53 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.138 2004/04/06 19:12:24 jhb Exp $"); #include "opt_adaptive_mutexes.h" #include "opt_ddb.h" +#include "opt_mutex_wake_all.h" #include <sys/param.h> #include <sys/systm.h> @@ -469,6 +470,9 @@ continue; } +#ifdef MUTEX_WAKE_ALL + MPASS(v != MTX_CONTESTED); +#else /* * The mutex was marked contested on release. This means that * there are other threads blocked on it. Grab ownership of @@ -481,6 +485,7 @@ turnstile_claim(ts); break; } +#endif /* * If the mutex isn't already contested and a failure occurs @@ -643,6 +648,10 @@ #endif /* XXX */ td1 = turnstile_head(ts); +#ifdef MUTEX_WAKE_ALL + turnstile_broadcast(ts); + _release_lock_quick(m); +#else if (turnstile_signal(ts)) { _release_lock_quick(m); if (LOCK_LOG_TEST(&m->mtx_object, opts)) @@ -653,6 +662,7 @@ CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p still contested", m); } +#endif turnstile_unpend(ts); /* ==== //depot/projects/power/sys/kern/kern_timeout.c#5 (text+ko) ==== @@ -35,11 +35,12 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_timeout.c,v 1.85 2004/04/05 21:03:35 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_timeout.c,v 1.86 2004/04/06 23:08:48 cperciva Exp $"); #include <sys/param.h> #include <sys/systm.h> #include <sys/callout.h> +#include <sys/condvar.h> #include <sys/kernel.h> #include <sys/lock.h> #include <sys/mutex.h> @@ -71,6 +72,32 @@ #endif static struct callout *nextsoftcheck; /* Next callout to be checked. */ +/* + * Locked by callout_lock: + * curr_callout - If a callout is in progress, it is curr_callout. + * If curr_callout is non-NULL, threads waiting on + * callout_wait will be woken up as soon as the + * relevant callout completes. + * wakeup_needed - If a thread is waiting on callout_wait, then + * wakeup_needed is nonzero. Increased only when + * cutt_callout is non-NULL. + * wakeup_ctr - Incremented every time a thread wants to wait + * for a callout to complete. Modified only when + * curr_callout is non-NULL. + */ +static struct callout *curr_callout; +static int wakeup_needed; +static int wakeup_ctr; +/* + * Locked by callout_wait_lock: + * callout_wait - If wakeup_needed is set, callout_wait will be + * triggered after the current callout finishes. + * wakeup_done_ctr - Set to the current value of wakeup_ctr after + * callout_wait is triggered. + */ +static struct mtx callout_wait_lock; +static struct cv callout_wait; +static int wakeup_done_ctr; /* * kern_timeout_callwheel_alloc() - kernel low level callwheel initialization @@ -122,6 +149,12 @@ #ifdef DIAGNOSTIC mtx_init(&dont_sleep_in_callout, "dont_sleep_in_callout", NULL, MTX_DEF); #endif + mtx_init(&callout_wait_lock, "callout_wait_lock", NULL, MTX_DEF); + cv_init(&callout_wait, "callout_wait"); + curr_callout = NULL; + wakeup_needed = 0; + wakeup_ctr = 0; + wakeup_done_ctr = 0; } /* @@ -150,6 +183,7 @@ int depth; int mpcalls; int gcalls; + int wakeup_cookie; #ifdef DIAGNOSTIC struct bintime bt1, bt2; struct timespec ts2; @@ -208,6 +242,7 @@ c->c_flags = (c->c_flags & ~CALLOUT_PENDING); } + curr_callout = c; mtx_unlock_spin(&callout_lock); if (!(c_flags & CALLOUT_MPSAFE)) { mtx_lock(&Giant); @@ -241,6 +276,21 @@ if (!(c_flags & CALLOUT_MPSAFE)) mtx_unlock(&Giant); mtx_lock_spin(&callout_lock); + curr_callout = NULL; + if (wakeup_needed) { + /* + * There might be someone waiting + * for the callout to complete. + */ + wakeup_cookie = wakeup_ctr; + mtx_unlock_spin(&callout_lock); + mtx_lock(&callout_wait_lock); + cv_broadcast(&callout_wait); + wakeup_done_ctr = wakeup_cookie; + mtx_unlock(&callout_wait_lock); + mtx_lock_spin(&callout_lock); + wakeup_needed = 0; + }; steps = 0; c = nextsoftcheck; } @@ -344,6 +394,17 @@ { mtx_lock_spin(&callout_lock); + + if (c == curr_callout && wakeup_needed) { + /* + * We're being asked to reschedule a callout which is + * currently in progress, and someone has called + * callout_drain to kill that callout. Don't reschedule. + */ + mtx_unlock_spin(&callout_lock); + return; + }; + if (c->c_flags & CALLOUT_PENDING) callout_stop(c); @@ -364,18 +425,46 @@ mtx_unlock_spin(&callout_lock); } +/* For binary compatibility */ +#undef callout_stop int callout_stop(c) struct callout *c; { + return(_callout_stop_safe(c, 0)); +} + +int +_callout_stop_safe(c, safe) + struct callout *c; + int safe; +{ + int wakeup_cookie; + mtx_lock_spin(&callout_lock); /* * Don't attempt to delete a callout that's not on the queue. */ if (!(c->c_flags & CALLOUT_PENDING)) { c->c_flags &= ~CALLOUT_ACTIVE; - mtx_unlock_spin(&callout_lock); + if (c == curr_callout && safe) { + /* We need to wait until the callout is finished */ + wakeup_needed = 1; + wakeup_cookie = wakeup_ctr++; + mtx_unlock_spin(&callout_lock); + mtx_lock(&callout_wait_lock); + /* + * Check to make sure that softclock() didn't + * do the wakeup in between our dropping + * callout_lock and picking up callout_wait_lock + */ + if (wakeup_cookie - wakeup_done_ctr > 0) + cv_wait(&callout_wait, &callout_wait_lock); + + mtx_unlock(&callout_wait_lock); + } else + mtx_unlock_spin(&callout_lock); return (0); } c->c_flags &= ~(CALLOUT_ACTIVE | CALLOUT_PENDING); ==== //depot/projects/power/sys/kern/subr_turnstile.c#4 (text+ko) ==== @@ -57,7 +57,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/subr_turnstile.c,v 1.141 2004/03/12 19:05:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_turnstile.c,v 1.142 2004/04/06 19:07:21 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -234,7 +234,7 @@ * finish waking this thread up. We can detect this case * by checking to see if this thread has been given a * turnstile by either turnstile_signal() or - * turnstile_wakeup(). In this case, treat the thread as + * turnstile_broadcast(). In this case, treat the thread as * if it was already running. */ if (td->td_turnstile != NULL) { @@ -567,7 +567,7 @@ * the turnstile chain locked. */ void -turnstile_wakeup(struct turnstile *ts) +turnstile_broadcast(struct turnstile *ts) { struct turnstile_chain *tc; struct turnstile *ts1; ==== //depot/projects/power/sys/netipsec/key.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netipsec/key.c,v 1.11 2004/02/16 17:09:53 guido Exp $ */ +/* $FreeBSD: src/sys/netipsec/key.c,v 1.12 2004/04/07 00:19:02 pjd Exp $ */ /* $KAME: key.c,v 1.191 2001/06/27 10:46:49 sakane Exp $ */ /* @@ -1316,7 +1316,7 @@ struct secpolicy *newsp; IPSEC_ASSERT(xpl0 != NULL, ("null xpl0")); - IPSEC_ASSERT(len >= sizeof(*xpl0), ("policy too short: %u", len)); + IPSEC_ASSERT(len >= sizeof(*xpl0), ("policy too short: %zu", len)); if (len != PFKEY_EXTLEN(xpl0)) { ipseclog((LOG_DEBUG, "%s: Invalid msg length.\n", __func__)); ==== //depot/projects/power/sys/sys/callout.h#2 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)callout.h 8.2 (Berkeley) 1/21/94 - * $FreeBSD: src/sys/sys/callout.h,v 1.24 2002/03/19 20:18:36 alfred Exp $ + * $FreeBSD: src/sys/sys/callout.h,v 1.25 2004/04/06 23:08:48 cperciva Exp $ */ #ifndef _SYS_CALLOUT_H_ @@ -81,6 +81,9 @@ #define callout_pending(c) ((c)->c_flags & CALLOUT_PENDING) void callout_reset(struct callout *, int, void (*)(void *), void *); int callout_stop(struct callout *); +#define callout_stop(c) _callout_stop_safe(c, 0) +#define callout_drain(c) _callout_stop_safe(c, 1) +int _callout_stop_safe(struct callout *, int); #endif ==== //depot/projects/power/sys/sys/condvar.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/condvar.h,v 1.10 2004/02/27 18:52:44 jhb Exp $ + * $FreeBSD: src/sys/sys/condvar.h,v 1.11 2004/04/06 19:17:46 jhb Exp $ */ #ifndef _SYS_CONDVAR_H_ @@ -38,10 +38,14 @@ TAILQ_HEAD(cv_waitq, thread); /* - * Condition variable. >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200404070418.i374I6Aq077168>