1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00
freebsd/sys/kern
John Baldwin b439e431bf Tweak how the MD code calls the fooclock() methods some. Instead of
passing a pointer to an opaque clockframe structure and requiring the
MD code to supply CLKF_FOO() macros to extract needed values out of the
opaque structure, just pass the needed values directly.  In practice this
means passing the pair (usermode, pc) to hardclock() and profclock() and
passing the boolean (usermode) to hardclock_cpu() and hardclock_process().
Other details:
- Axe clockframe and CLKF_FOO() macros on all architectures.  Basically,
  all the archs were taking a trapframe and converting it into a clockframe
  one way or another.  Now they can just extract the PC and usermode values
  directly out of the trapframe and pass it to fooclock().
- Renamed hardclock_process() to hardclock_cpu() as the latter is more
  accurate.
- On Alpha, we now run profclock() at hz (profhz == hz) rather than at
  the slower stathz.
- On Alpha, for the TurboLaser machines that don't have an 8254
  timecounter, call hardclock() directly.  This removes an extra
  conditional check from every clock interrupt on Alpha on the BSP.
  There is probably room for even further pruning here by changing Alpha
  to use the simplified timecounter we use on x86 with the lapic timer
  since we don't get interrupts from the 8254 on Alpha anyway.
- On x86, clkintr() shouldn't ever be called now unless using_lapic_timer
  is false, so add a KASSERT() to that affect and remove a condition
  to slightly optimize the non-lapic case.
- Change prototypeof  arm_handler_execute() so that it's first arg is a
  trapframe pointer rather than a void pointer for clarity.
- Use KCOUNT macro in profclock() to lookup the kernel profiling bucket.

Tested on:	alpha, amd64, arm, i386, ia64, sparc64
Reviewed by:	bde (mostly)
2005-12-22 22:16:09 +00:00
..
bus_if.m
clock_if.m
cpufreq_if.m
device_if.m
genassym.sh
imgact_aout.c
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Maintain the vnode lock throughout elfN_load_file() rather than releasing 2005-12-21 18:58:40 +00:00
imgact_gzip.c
imgact_shell.c
inflate.c Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
init_main.c Moderate rewrite of kernel ktrace code to attempt to generally improve 2005-11-13 13:27:44 +00:00
init_sysent.c Regen. 2005-11-27 01:23:31 +00:00
kern_acct.c Significant refactoring of the accounting code to improve locking and VFS 2005-11-12 10:45:13 +00:00
kern_acl.c Implement new world order in VFS locking for ACLs. This will remove the 2005-09-17 22:01:14 +00:00
kern_alq.c
kern_clock.c Tweak how the MD code calls the fooclock() methods some. Instead of 2005-12-22 22:16:09 +00:00
kern_condvar.c Contributions from XFS for FreeBSD project: 2005-12-12 00:02:22 +00:00
kern_conf.c Move the initialization of the devmtx into the mutex_init() function 2005-10-18 18:27:44 +00:00
kern_context.c
kern_cpu.c make saved cpu level stackable. 2005-10-03 06:57:29 +00:00
kern_descrip.c Last step to make mq_notify conform to POSIX standard, If the process 2005-11-30 05:12:03 +00:00
kern_environment.c Reorder statements to avoid accessing unknown memory. 2005-09-26 14:14:55 +00:00
kern_event.c Add in kqueue support to LIO event notification and fix how it handled 2005-10-12 17:51:31 +00:00
kern_exec.c Remove unneeded calls to pmap_remove_all(). The given page is not mapped. 2005-12-11 22:06:57 +00:00
kern_exit.c Register itimers_event_hook as a kernel event handler, so I don't 2005-12-09 05:43:26 +00:00
kern_fork.c Moderate rewrite of kernel ktrace code to attempt to generally improve 2005-11-13 13:27:44 +00:00
kern_idle.c
kern_intr.c Add a swi_remove() function to teardown software interrupt handlers. For 2005-10-26 15:51:05 +00:00
kern_jail.c Push Giant down in jails. Pass the MPSAFE flag to NDINIT, and keep track 2005-09-28 00:30:56 +00:00
kern_kse.c Cleanup some signal interfaces. Now the tdsignal function accepts 2005-11-03 04:49:16 +00:00
kern_kthread.c
kern_ktr.c
kern_ktrace.c In ktr_getrequest(), acquire ktrace_mtx earlier -- while the race 2005-11-14 19:30:09 +00:00
kern_linker.c Fix a bug in the kernel module runtime linker that made it impossible 2005-10-19 20:40:30 +00:00
kern_lock.c Include kdb.h so that kdb_active is declared regardless of KDB being 2005-10-02 10:03:51 +00:00
kern_lockf.c
kern_mac.c Standard Giant push down operations for the Mandatory Access Control (MAC) 2005-10-04 14:32:58 +00:00
kern_malloc.c Detect memory leaks when memory type is being destroyed. 2005-11-03 13:48:59 +00:00
kern_mbuf.c Hide the 4k mbuf clusters if the normal clusters are defined to be 2005-12-10 15:21:04 +00:00
kern_mib.c
kern_module.c
kern_mtxpool.c
kern_mutex.c Add a new 'show lock' command to ddb. If the argument has a valid lock 2005-12-13 23:14:35 +00:00
kern_ntptime.c
kern_physio.c
kern_pmc.c Fix -Wundef. 2005-12-04 02:12:43 +00:00
kern_poll.c - Don't pollute opt_global.h with DEVICE_POLLING and introduce 2005-10-05 10:09:17 +00:00
kern_proc.c Moderate rewrite of kernel ktrace code to attempt to generally improve 2005-11-13 13:27:44 +00:00
kern_prot.c Use the refcount API to manage the reference count for user credentials 2005-09-27 18:09:42 +00:00
kern_resource.c Calling setrlimit from 32bit apps could potentially increase certain 2005-11-02 21:18:07 +00:00
kern_sema.c
kern_shutdown.c Don't pretend to be thread0 when calling sync(). 2005-09-22 15:34:15 +00:00
kern_sig.c Add a sysctl to force a process to sigexit if a trap signal is 2005-12-09 08:29:29 +00:00
kern_subr.c
kern_switch.c Restore KTR_CRITICAL but conditionally compile it in as KTR_SCHED. 2005-12-18 18:10:57 +00:00
kern_sx.c Add a new 'show lock' command to ddb. If the argument has a valid lock 2005-12-13 23:14:35 +00:00
kern_synch.c When checking to see if a process has exceeded its time limit, flag the 2005-11-28 19:09:08 +00:00
kern_syscalls.c
kern_sysctl.c
kern_tc.c Start time_uptime with 1 instead of 0. 2005-09-19 22:16:31 +00:00
kern_thr.c Cleanup some signal interfaces. Now the tdsignal function accepts 2005-11-03 04:49:16 +00:00
kern_thread.c Now SIGCHLD is always queued. 2005-12-09 02:27:55 +00:00
kern_time.c Fix compiling warning on 64 bits system. 2005-12-09 13:16:48 +00:00
kern_timeout.c Oops, missed adding the required include. 2005-09-15 20:20:36 +00:00
kern_umtx.c do umtx_wake at userland thread exit address, so that others userland 2005-10-26 06:55:46 +00:00
kern_uuid.c Add parse_uuid() that creates a binary representation of an UUID from 2005-10-07 13:37:10 +00:00
kern_xxx.c
ksched.c
link_elf_obj.c Make our ELF64 type definitions match standards. In particular this 2005-12-18 04:52:37 +00:00
link_elf.c Make our ELF64 type definitions match standards. In particular this 2005-12-18 04:52:37 +00:00
linker_if.m
Make.tags.inc
Makefile
makesyscalls.sh
md4c.c
md5c.c
p1003_1b.c
posix4_mib.c
sched_4bsd.c
sched_ule.c Fix a bug in slice calculation code, current code uses hz but 2005-12-19 08:26:09 +00:00
subr_acl_posix1e.c Implement new world order in VFS locking for ACLs. This will remove the 2005-09-17 22:01:14 +00:00
subr_autoconf.c
subr_blist.c
subr_bus.c When data passed into devctl_notify is NULL, don't print (null). Instead 2005-10-04 22:25:14 +00:00
subr_clist.c
subr_clock.c
subr_devstat.c
subr_disk.c
subr_eventhandler.c
subr_hints.c
subr_kdb.c Add stoppcbs[] arrays on Alpha and sparc64 and have each CPU save its 2005-11-03 21:08:20 +00:00
subr_kobj.c
subr_log.c
subr_mbpool.c
subr_mchain.c
subr_module.c
subr_msgbuf.c
subr_param.c Partially revert revision 1.66, which contained a change that did not 2005-10-14 19:15:10 +00:00
subr_pcpu.c Fix 'show allpcpu' ddb command on non-x86. CPU IDs are in the range 0 .. 2005-11-03 21:06:29 +00:00
subr_power.c General consensus is that it would be even better to run this in a 2005-11-09 16:22:56 +00:00
subr_prf.c Acquire Giant in uprintf() and tprintf() rather than asserting it. In 2005-09-26 08:02:24 +00:00
subr_prof.c Change the addupc_*() functions to use the uintfptr_t type for pc rather 2005-12-16 22:08:32 +00:00
subr_rman.c Prefer NULL to 0. 2005-11-17 08:56:21 +00:00
subr_rtc.c
subr_sbuf.c
subr_scanf.c
subr_sleepqueue.c Clarify panic message, I parsed the old one 'trying to sleep while sleeping' 2005-11-09 07:28:52 +00:00
subr_smp.c Rename the KDB_STOP_NMI kernel option to STOP_NMI and make it apply to all 2005-10-24 21:04:19 +00:00
subr_stack.c
subr_taskqueue.c Use shorter names for the Giant and fast taskqueues so that their names 2005-10-25 19:29:02 +00:00
subr_trap.c Moderate rewrite of kernel ktrace code to attempt to generally improve 2005-11-13 13:27:44 +00:00
subr_turnstile.c Trim a couple of unneeded includes. 2005-09-29 19:13:52 +00:00
subr_unit.c
subr_witness.c Tweak witness handling of lock object to shave 2 pointers off of each 2005-12-05 20:45:24 +00:00
sys_generic.c
sys_pipe.c In pipe_write(): when uiomove() fails, do not spin on it forever. 2005-12-16 18:32:39 +00:00
sys_process.c Make sure pending SIGCHLD is removed from previous parent when process 2005-11-08 23:28:12 +00:00
sys_socket.c
syscalls.c Regen. 2005-11-27 01:23:31 +00:00
syscalls.master Don't use OpenBSD syscall numbers, instead, use new syscall numbers 2005-11-27 01:13:00 +00:00
sysv_ipc.c
sysv_msg.c
sysv_sem.c
sysv_shm.c Re-order MAC and DAC checks in shmget() in order to give precedence to 2005-10-04 16:40:20 +00:00
tty_compat.c Make ttsetcompat() static 2005-10-16 20:40:40 +00:00
tty_conf.c
tty_cons.c
tty_pty.c
tty_subr.c
tty_tty.c
tty.c Revert most of revision 1.235 and fix the problem a different way. We 2005-10-27 16:47:28 +00:00
uipc_accf.c
uipc_cow.c Previously, nothing prevented the page that was returned by pmap_extract() 2005-10-23 07:41:56 +00:00
uipc_domain.c
uipc_mbuf2.c
uipc_mbuf.c When using m_dup(9) to copy more than MHLEN bytes of data, don't create an 2005-12-14 23:34:26 +00:00
uipc_mqueue.c Replace selwakeuppri with selwakeup, let scheduler figure out 2005-12-16 15:01:16 +00:00
uipc_proto.c Use sparse initializers for "struct domain" and "struct protosw", 2005-11-09 13:29:16 +00:00
uipc_sem.c Const-qualify ksem_timedwait's parameter abstime as it's only passed in. 2005-10-18 11:46:24 +00:00
uipc_sockbuf.c Fix a bug in the loop in sonewconn that makes room on the incomplete 2005-11-22 01:55:29 +00:00
uipc_socket2.c Fix a bug in the loop in sonewconn that makes room on the incomplete 2005-11-22 01:55:29 +00:00
uipc_socket.c Fix snderr() to not leak the socket buffer lock if an error occurs in 2005-11-29 23:07:14 +00:00
uipc_syscalls.c Reformat socket control messages on input/output for 32bit compatibility 2005-10-31 21:09:56 +00:00
uipc_usrreq.c Fix a bunch of SYSCTL_INT() that should have been SYSCTL_ULONG() to 2005-12-14 22:27:48 +00:00
vfs_acl.c Implement new world order in VFS locking for ACLs. This will remove the 2005-09-17 22:01:14 +00:00
vfs_aio.c In aio_waitcomplete, do not return EAGAIN if no other threads 2005-11-08 23:48:32 +00:00
vfs_bio.c Changes imported from XFS for FreeBSD project: 2005-12-07 03:39:08 +00:00
vfs_cache.c
vfs_cluster.c Changes imported from XFS for FreeBSD project: 2005-12-07 03:39:08 +00:00
vfs_default.c Eradicate caddr_t from the VFS API. 2005-12-14 00:49:52 +00:00
vfs_export.c Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
vfs_extattr.c Reduce Giant scope a bit, as fdrop() is believed to be MPSAFE. 2005-12-20 00:49:59 +00:00
vfs_hash.c Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
vfs_init.c
vfs_lookup.c Use correct VFS locking rather than unconditionally grabbing Giant around 2005-09-21 19:49:42 +00:00
vfs_mount.c vfs_mount_alloc() always returns 0, but what we really want is newly 2005-12-20 00:43:51 +00:00
vfs_subr.c This is a workaround for a complicated issue involving VFS cookies and devfs. 2005-11-09 22:03:50 +00:00
vfs_syscalls.c Reduce Giant scope a bit, as fdrop() is believed to be MPSAFE. 2005-12-20 00:49:59 +00:00
vfs_vnops.c Eradicate caddr_t from the VFS API. 2005-12-14 00:49:52 +00:00
vnode_if.src Eradicate caddr_t from the VFS API. 2005-12-14 00:49:52 +00:00