opnsense-src/sys/kern
Pawel Jakub Dawidek 665b912a0a MFC r207920,r207934,r207936,r207937,r207970,r208142,r208147,r208148,r208166,
r208454,r208455,r208458:

r207920:

Back out r205134. It is not stable.

r207934:

Add missing new line characters to the warnings.

r207936:

Eventhough r203504 eliminates taste traffic provoked by vdev_geom.c,
ZFS still like to open all vdevs, close them and open them again,
which in turn provokes taste traffic anyway.

I don't know of any clean way to fix it, so do it the hard way - if we can't
open provider for writing just retry 5 times with 0.5 pauses. This should
elimitate accidental races caused by other classes tasting providers created on
top of our vdevs.

Reported by:	James R. Van Artsdalen <james-freebsd-fs2@jrv.org>
Reported by:	Yuri Pankov <yuri.pankov@gmail.com>

r207937:

I added vfs_lowvnodes event, but it was only used for a short while and now
it is totally unused. Remove it.

r207970:

When there is no memory or KVA, try to help by reclaiming some vnodes.
This helps with 'kmem_map too small' panics.

No objections from:	kib
Tested by:		Alexander V. Ribchansky <shurik@zk.informjust.ua>

r208142:

The whole point of having dedicated worker thread for each leaf VDEV was to
avoid calling zio_interrupt() from geom_up thread context. It turns out that
when provider is forcibly removed from the system and we kill worker thread
there can still be some ZIOs pending. To complete pending ZIOs when there is
no worker thread anymore we still have to call zio_interrupt() from geom_up
context. To avoid this race just remove use of worker threads altogether.
This should be more or less fine, because I also thought that zio_interrupt()
does more work, but it only makes small UMA allocation with M_WAITOK.
It also saves one context switch per I/O request.

PR:		kern/145339
Reported by:	Alex Bakhtin <Alex.Bakhtin@gmail.com>

r208147:

Add task structure to zio and use it instead of allocating one.
This eliminates the only place where we can sleep when calling zio_interrupt().
As a side-effect this can actually improve performance a little as we
allocate one less thing for every I/O.

Prodded by:	kib

r208148:

Allow to configure UMA usage for ZIO data via loader and turn it on by
default for amd64. On i386 I saw performance degradation when UMA was used,
but for amd64 it should help.

r208166:

Fix userland build by making io_task available only for the kernel and by
providing taskq_dispatch_safe() macro.

r208454:

Remove ZIO_USE_UMA from arc.c as well.

r208455:

ZIO_USE_UMA is no longer used.

r208458:

Create UMA zones unconditionally.
2010-05-24 10:09:36 +00:00
..
bus_if.m MFC 198134,198149,198170,198171,198391,200948: 2010-01-21 17:54:29 +00:00
clock_if.m /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
cpufreq_if.m Introduce a new method, cpufreq_drv_type(), that returns the type of the 2005-02-18 00:23:36 +00:00
device_if.m /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
genassym.sh refactor code so it can run in a chroot without having to have /dev/mounted 2008-01-18 17:02:14 +00:00
imgact_aout.c Add sv_flags field to struct sysentvec with intention to provide description 2008-11-22 12:36:15 +00:00
imgact_elf.c MFC r205014,205015: 2010-04-07 02:24:41 +00:00
imgact_elf32.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
imgact_elf64.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
imgact_gzip.c VOP_LOCK1() (and so VOP_LOCK()) and VOP_UNLOCK() are only used in 2008-01-13 14:44:15 +00:00
imgact_shell.c Decontextualize the couplet VOP_GETATTR / VOP_SETATTR as the passed thread 2008-08-28 15:23:18 +00:00
inflate.c Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
init_main.c MFC 197658: print machine in kernel boot version string 2009-11-01 17:40:05 +00:00
init_sysent.c Regen 2009-12-19 11:50:04 +00:00
kern_acct.c Do not use casts (int *)0 and (struct thread *)0 for the arguments of 2009-06-16 15:13:45 +00:00
kern_alq.c Add another flags argument to vn_open_cred. Use it to specify that some 2009-06-21 13:41:32 +00:00
kern_clock.c MFC r206482, r206879: 2010-04-24 00:53:41 +00:00
kern_condvar.c Remove unused variables p' and unneeded assignments of rval'. 2009-02-26 13:00:13 +00:00
kern_conf.c MFC r207729: 2010-05-20 09:38:15 +00:00
kern_cons.c Remove unneeded variable `ocn_mute'. 2009-02-26 13:01:45 +00:00
kern_context.c MFC r198507: 2009-12-19 11:31:28 +00:00
kern_cpu.c MFC: r201848 2010-01-22 17:03:49 +00:00
kern_cpuset.c Remove unnecessary/redundant includes. 2009-06-23 14:39:21 +00:00
kern_ctf.c Add the CTF source file which gets shared with link_elf.c and link_elf_obj.c. 2008-05-23 03:04:27 +00:00
kern_descrip.c MFC r207116: 2010-05-02 15:58:25 +00:00
kern_dtrace.c Remove code that isn't required. It actually breaks the case where KDTRACE_HOOKS 2008-06-16 04:44:29 +00:00
kern_environment.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
kern_event.c MFC 205886: 2010-04-14 15:33:15 +00:00
kern_exec.c MFC 198411: 2010-01-21 19:11:18 +00:00
kern_exit.c MFC r197942: 2009-10-13 09:24:51 +00:00
kern_fail.c MFC a number of changes from head for ISP (203478,203463,203444,202418,201758, 2010-02-11 18:34:06 +00:00
kern_fork.c MFC r207468: 2010-05-11 13:18:41 +00:00
kern_idle.c In keeping with style(9)'s recommendations on macros, use a ';' 2008-03-16 10:58:09 +00:00
kern_intr.c MFC r203061: KASSERT contract of return value of interrupt filter 2010-02-28 21:28:24 +00:00
kern_jail.c MFC r205014,205015: 2010-04-07 02:24:41 +00:00
kern_kthread.c MFC r207468: 2010-05-11 13:18:41 +00:00
kern_ktr.c Remove slightly oddly placed suser() call from the KTR/ALQ setup sysctl: 2006-09-09 16:09:01 +00:00
kern_ktrace.c MFC 198411: 2010-01-21 19:11:18 +00:00
kern_linker.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
kern_lock.c MFC r200447,201703,201709-201710: 2010-01-18 14:43:44 +00:00
kern_lockf.c In lf_iteratelocks_vnode, increment state->ls_threads around iterating 2009-06-25 18:54:56 +00:00
kern_lockstat.c Add the OpenSolaris dtrace lockstat provider. The lockstat provider 2009-05-26 20:28:22 +00:00
kern_malloc.c If we're passed garbage in malloc_init(), panic() rather than expecting 2009-06-05 09:16:52 +00:00
kern_mbuf.c Add support to the virtual memory system for configuring machine- 2009-07-12 23:31:20 +00:00
kern_mib.c MFC r202143,202163,202341,202342,204278 2010-02-24 22:16:16 +00:00
kern_module.c MFC r205014,205015: 2010-04-07 02:24:41 +00:00
kern_mtxpool.c Fix a number of style issues in the MALLOC / FREE commit. I've tried to 2008-10-23 20:26:15 +00:00
kern_mutex.c MFC r207922, r207925, r207929, r208052: 2010-05-18 10:24:23 +00:00
kern_ntptime.c MFC r207360: periodically save system time to hardware time-of-day clock 2010-05-19 10:34:15 +00:00
kern_osd.c Make the rmlock(9) interface a bit more like the rwlock(9) interface: 2009-05-29 10:52:37 +00:00
kern_physio.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_pmc.c Support sparsely numbered CPUs. 2008-09-22 10:37:02 +00:00
kern_poll.c Merge r196267 from head to stable/8: 2009-08-20 21:29:49 +00:00
kern_priv.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
kern_proc.c MFC r207603 2010-05-11 13:33:37 +00:00
kern_prot.c MFC r202143,202163,202341,202342,204278 2010-02-24 22:16:16 +00:00
kern_resource.c MFC r207468: 2010-05-11 13:18:41 +00:00
kern_rmlock.c MFC r201000: 2009-12-28 14:47:25 +00:00
kern_rwlock.c MFC r205626: 2010-03-27 17:54:44 +00:00
kern_sdt.c Add kernel support for the Statically Defined Trace provider. 2008-05-18 19:32:36 +00:00
kern_sema.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_shutdown.c MFC r206878, r206897, r207921: 2010-05-14 01:43:13 +00:00
kern_sig.c MFC r206264: 2010-05-04 05:14:43 +00:00
kern_subr.c Make ureadc() warn when holding any locks, just like uiomove(). 2008-08-28 19:34:58 +00:00
kern_switch.c - Use DPCPU for SCHED_STATS. This is somewhat awkward because the 2009-06-25 01:33:51 +00:00
kern_sx.c MFC r200447,201703,201709-201710: 2010-01-18 14:43:44 +00:00
kern_synch.c Add new msleep(9) flag PBDY that shall be specified together with 2009-07-14 22:52:46 +00:00
kern_syscalls.c MFC r205321: 2010-04-07 14:28:47 +00:00
kern_sysctl.c MFC r196176: 2009-08-13 10:31:02 +00:00
kern_tc.c Remove conditionally compiled time counter statistics; tools like 2009-04-11 22:01:40 +00:00
kern_thr.c MFC r207468: 2010-05-11 13:18:41 +00:00
kern_thread.c MFC r207605: 2010-05-11 13:35:35 +00:00
kern_time.c Remove VOP_LEASE and supporting functions. This hasn't been used since 2009-04-10 10:52:19 +00:00
kern_timeout.c MFC r197137 and r200510, which fixes a problem in 8.0 2010-03-07 14:29:12 +00:00
kern_umtx.c MFC r205014,205015: 2010-04-07 02:24:41 +00:00
kern_uuid.c Merge r196481 from head to stable/8: 2009-08-28 20:06:02 +00:00
kern_xxx.c Place hostnames and similar information fully under the prison system. 2009-05-29 21:27:12 +00:00
ksched.c MFC of 204670: 2010-04-05 13:33:54 +00:00
link_elf.c Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
link_elf_obj.c Add macros VNET_SETNAME and VNET_SYMPREFIX, and expose to userspace if 2009-07-20 07:50:50 +00:00
linker_if.m strict kobj signatures: linker_if fixes 2009-06-11 17:05:45 +00:00
Make.tags.inc Catch up with the disappearance of sys/dev/hfa. 2008-12-01 14:34:42 +00:00
Makefile style.Makefile(5) 2007-12-14 21:30:51 +00:00
makesyscalls.sh Add a new COMPAT7 flag for FreeBSD 7.x compatibility system calls. 2009-06-24 13:36:37 +00:00
md4c.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
md5c.c Fix a panic on sparc64 related to inproper aligment - we cannot assume, 2006-03-30 18:45:50 +00:00
p1003_1b.c Remove kernel support for M:N threading. 2008-03-12 10:12:01 +00:00
posix4_mib.c Fix mispatch of includes list; allows my kernel to build successfully. 2006-11-12 03:34:03 +00:00
sched_4bsd.c MC r202889, r202940: 2010-02-08 14:08:52 +00:00
sched_ule.c MC r202889, r202940: 2010-02-08 14:08:52 +00:00
serdev_if.m MFp4: Add the ipend() method to the serdev I/F to allow umbrella 2006-04-23 22:12:39 +00:00
stack_protector.c MFC r198295: 2009-10-24 04:55:14 +00:00
subr_acl_nfs4.c MFC r200723: 2010-03-27 18:12:00 +00:00
subr_acl_posix1e.c MFC r197680: 2010-03-27 17:22:11 +00:00
subr_autoconf.c Prefer ANSI function definitions to K&R ones. 2009-02-03 07:52:07 +00:00
subr_blist.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
subr_bufring.c - bump __FreeBSD version to reflect added buf_ring, memory barriers, 2008-11-22 05:55:56 +00:00
subr_bus.c MFC r206916 2010-04-25 19:13:08 +00:00
subr_clock.c Now that all platforms use genclock, shuffle things around slightly 2008-04-22 19:38:30 +00:00
subr_devstat.c Use NULL in preference to 0 in pointer contexts. 2009-02-03 07:54:42 +00:00
subr_disk.c Clarify and reimplement the bioq API so that bioq_disksort() has 2009-02-13 11:36:32 +00:00
subr_eventhandler.c MFC r205345: 2010-04-21 19:45:41 +00:00
subr_fattime.c Better naming of fattime conversion functions, they do convert to timespec 2006-10-24 10:27:23 +00:00
subr_firmware.c MFC a number of changes from head for ISP (203478,203463,203444,202418,201758, 2010-02-11 18:34:06 +00:00
subr_hints.c Use a sleep mutex instead of an sx lock for the kernel environment. This 2006-07-09 21:42:58 +00:00
subr_kdb.c MFC r196196: 2009-08-13 17:54:11 +00:00
subr_kobj.c Use NULL in preference to 0 in pointer contexts. 2009-02-03 07:54:42 +00:00
subr_lock.c - Implement a new mechanism for resetting lock profiling. We now 2009-03-15 06:41:47 +00:00
subr_log.c In keeping with style(9)'s recommendations on macros, use a ';' 2008-03-16 10:58:09 +00:00
subr_mbpool.c Add parens around *free in *free++ in mbp_count() so that mbp_count() 2007-05-27 17:38:36 +00:00
subr_mchain.c Replaced the misleading uses of a historical artefact M_TRYWAIT with M_WAIT. 2008-03-25 09:39:02 +00:00
subr_module.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_msgbuf.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_param.c MFC r204611, r204633: Comment and better sysctl documentation string for 2010-03-07 12:29:50 +00:00
subr_pcpu.c MFC r207922, r207925, r207929, r208052: 2010-05-18 10:24:23 +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 Remove redundant code in printf() and vprintf(). 2009-02-27 13:28:54 +00:00
subr_prof.c Use ANSI function definition for profil. 2009-02-03 07:52:36 +00:00
subr_rman.c sysctl_rman: report shared resources to devinfo 2009-05-19 14:08:21 +00:00
subr_rtc.c Clean up MI inittodr(9) and kill noop code. 2009-03-23 21:16:21 +00:00
subr_sbuf.c Switch to simplified BSD license (with phk's approval), plus whitespace 2008-08-09 10:26:21 +00:00
subr_scanf.c Remove advertising clause from University of California Regent's license, 2004-04-05 21:03:37 +00:00
subr_sglist.c MFC 196417: 2009-08-21 03:14:39 +00:00
subr_sleepqueue.c MFC r201879: 2010-01-25 12:05:51 +00:00
subr_smp.c MFC r206878, r206897, r207921: 2010-05-14 01:43:13 +00:00
subr_stack.c Add stack_print_short() and stack_print_short_ddb() interfaces to 2009-06-24 12:06:15 +00:00
subr_taskqueue.c MFC 198411: 2010-01-21 19:11:18 +00:00
subr_trap.c MFC r198508, r198509: 2009-12-19 11:47:00 +00:00
subr_turnstile.c MFC r201879: 2010-01-25 12:05:51 +00:00
subr_unit.c Since cdev mutex is after system map mutex in global lock order, free() 2007-07-04 06:56:58 +00:00
subr_witness.c MFC r207922, r207925, r207929, r208052: 2010-05-18 10:24:23 +00:00
sys_generic.c MFC r205014,205015: 2010-04-07 02:24:41 +00:00
sys_pipe.c Fix poll(2) and select(2) for named pipes to return "ready for read" 2009-07-07 09:43:44 +00:00
sys_process.c MFC r205014,205015: 2010-04-07 02:24:41 +00:00
sys_socket.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
syscalls.c Regen 2009-12-19 11:50:04 +00:00
syscalls.master MFC r198508, r198509: 2009-12-19 11:47:00 +00:00
systrace_args.c Regen 2009-12-19 11:50:04 +00:00
sysv_ipc.c MFC r205322: 2010-04-07 14:35:09 +00:00
sysv_msg.c MFC r205323: 2010-04-07 14:46:28 +00:00
sysv_sem.c MFC r205323: 2010-04-07 14:46:28 +00:00
sysv_shm.c MFC r205323: 2010-04-07 14:46:28 +00:00
tty.c MFC r201532: 2010-01-18 09:04:53 +00:00
tty_compat.c MFC r201532: 2010-01-18 09:04:53 +00:00
tty_info.c Print an extra newline when not at the first column already. 2009-05-17 16:17:48 +00:00
tty_inq.c Enable secure TTY input buffer flushing by default. 2009-05-21 16:48:06 +00:00
tty_outq.c Use unsigned longs for the TTY's sysctl stats. 2009-02-26 10:28:32 +00:00
tty_pts.c MFC r206395: 2010-04-15 08:17:28 +00:00
tty_pty.c MFC r196378: 2009-08-19 14:38:43 +00:00
tty_tty.c Remove unneeded Giant locking of /dev/tty. 2008-06-03 12:38:00 +00:00
tty_ttydisc.c MFC r198185: 2009-12-31 10:53:04 +00:00
uipc_accf.c MFC r201145 to stable/8: 2010-01-30 12:11:21 +00:00
uipc_cow.c Extend the struct vm_page wire_count to u_int to avoid the overflow 2009-01-03 13:24:08 +00:00
uipc_debug.c Add missing socket options. 2009-05-26 09:19:21 +00:00
uipc_domain.c MFC r196501: 2009-08-28 19:08:56 +00:00
uipc_mbuf.c MFC r207475: 2010-05-06 09:52:32 +00:00
uipc_mbuf2.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
uipc_mqueue.c MFC r205325: 2010-04-07 14:49:35 +00:00
uipc_sem.c MFC r205324: 2010-04-07 14:47:55 +00:00
uipc_shm.c Implement global and per-uid accounting of the anonymous memory. Add 2009-06-23 20:45:22 +00:00
uipc_sockbuf.c In sbappendstream_locked() demote all incoming packet mbufs (and 2009-06-22 21:46:40 +00:00
uipc_socket.c MFC r205014,205015: 2010-04-07 02:24:41 +00:00
uipc_syscalls.c MFC r205318: 2010-04-07 14:16:14 +00:00
uipc_usrreq.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
vfs_acl.c MFC r200058: 2010-03-27 18:08:14 +00:00
vfs_aio.c MFC r205326: 2010-04-07 14:50:58 +00:00
vfs_bio.c MFC r205860,206097: correctly set b_offset for getblk(devvp) 2010-04-17 11:06:42 +00:00
vfs_cache.c MFC r206894: 2010-05-04 05:25:48 +00:00
vfs_cluster.c Remove a stale comment. The very same revision (r85511) that introduced 2009-06-30 19:39:17 +00:00
vfs_default.c MFC r206094: 2010-04-09 08:45:30 +00:00
vfs_export.c MFC r197581, r197583, r197584: 2009-10-01 13:11:45 +00:00
vfs_extattr.c Replace AUDIT_ARG() with variable argument macros with a set more more 2009-06-27 13:58:44 +00:00
vfs_hash.c In keeping with style(9)'s recommendations on macros, use a ';' 2008-03-16 10:58:09 +00:00
vfs_init.c Expand the scope of the sysctllock sx lock to protect the sysctl tree itself. 2009-02-06 14:51:32 +00:00
vfs_lookup.c MFC r199137: 2009-11-17 11:46:55 +00:00
vfs_mount.c MFC r201145 to stable/8: 2010-01-30 12:11:21 +00:00
vfs_subr.c MFC r207920,r207934,r207936,r207937,r207970,r208142,r208147,r208148,r208166, 2010-05-24 10:09:36 +00:00
vfs_syscalls.c MFC r206547: 2010-04-27 10:47:54 +00:00
vfs_vnops.c MFC r206129: vn_stat: use va_blocksize when setting st_blksize 2010-04-17 11:25:30 +00:00
vnode_if.src Add explicit struct ucred * argument for VOP_VPTOCNP, to be used by 2009-06-21 19:21:01 +00:00