Commit Graph

1673 Commits

Author SHA1 Message Date
nonaka 58634b7e37 pmap->pm_active and pmap->pm_onproc must be destroyed. 2014-12-22 11:11:34 +00:00
nonaka 1a8ba8658c Initialize pmap->pm_active and pmap->pm_onproc.
Avoid "panic: kernel diagnostic assertion "!pmap_tlb_intersecting_onproc_p(pm, ti)" failed: file "/usr/src/sys/uvm/pmap/pmap_tlb.c", line 762".
2014-12-19 04:25:52 +00:00
chs 6d40f9ff57 add a new "fo_mmap" fileops method to allow use of arbitrary uvm_objects for
mappings of file objects.  move vnode-specific details of mmap()ing a vnode
from uvm_mmap() to the new vnode-specific vn_mmap().  add new uvm_mmap_dev()
and uvm_mmap_anon() convenience functions for mapping character devices
and anonymous memory, and replace all other calls to uvm_mmap() with those.
use the new fileop in drm2 so that libdrm can use mmap() to map things
like on other platforms (instead of the ioctl that we have used so far).
2014-12-14 23:48:58 +00:00
msaitoh db917302c6 Sort in uvmexp_sysctl's order for readability. No functional change. 2014-12-01 04:11:14 +00:00
msaitoh 571ed845ad Fix a bug that "vmstat -s" print uvmexp.ncolors incorrectly. 2014-12-01 04:02:40 +00:00
uebayasi 1049d7be12 Consistently use kpreempt_*() outside scheduler path. 2014-11-27 14:22:09 +00:00
skrll c304f8b6cf s/0/KERNEL_PID/ for correctness 2014-10-29 10:53:41 +00:00
christos 0cf74bcfe0 Define UVMDEBUG for expensive debugging operations. Idea from chuq. 2014-10-26 01:42:07 +00:00
skrll a0e8e968e5 Minor comment update. 2014-10-18 09:54:19 +00:00
uebayasi bb143539dc Use opt_*.h to not polute CPPFLAGS.
Attribute dependency is not yet.  Revert a definition.
2014-10-10 09:01:01 +00:00
uebayasi ddd87a14b9 Define "uvm" attribute and mark files. 2014-10-10 08:24:54 +00:00
matt 303cc3a45f Use f_vnode instead of f_data 2014-09-05 09:24:48 +00:00
matt 42253a3174 Don't nest structure definitions. 2014-09-05 09:24:21 +00:00
matt 4df9f745e1 Don't use C++ new keyword as a variable name. 2014-09-05 05:36:49 +00:00
matt 2fcd348198 Don't use C++ try keyword as a variable name. 2014-09-05 05:36:21 +00:00
tls ea6af427bd Merge tls-earlyentropy branch into HEAD. 2014-08-10 16:44:32 +00:00
dholland f9228f4225 Add d_discard to all struct cdevsw instances I could find.
All have been set to "nodiscard"; some should get a real implementation.
2014-07-25 08:10:31 +00:00
dholland 8c70ef39af Add d_discard to all struct bdevsw instances I could find.
I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.
2014-07-25 08:02:18 +00:00
christos e93cdeae9b Add MAP_INHERIT_ZERO 2014-07-18 12:36:57 +00:00
christos 9aaf8e57e5 Split out the minherit code into separate functions for readability (allows
us to indent them properly), and merge the new vm_map_entry creation into
a common function to avoid code duplication. No functional change.
2014-07-18 12:19:09 +00:00
riastradh 4fa7e6020b Initialize ubchist earlier. 2014-07-07 20:14:43 +00:00
maxv 87145c7a28 This KASSERT can trigger a panic too easily, if SCARG(uap, cmd)=SWAP_OFF and
SCARG(uap, arg)=NULL. The same KASSERT is already in the SWAP_ON switch case,
so just delete it here.
2014-06-28 15:52:45 +00:00
maxv 1fc63be65d Sync swapctl() with netbsd32. Return EINVAL when misc<0, and 0 when misc=0
or uvmexp.nswapdev=0.
2014-06-22 19:09:39 +00:00
riastradh e951f85b1a Allow VM_NFREELIST in uao_set_pgfl, meaning any freelist is OK. 2014-05-25 18:55:11 +00:00
riastradh c20b71f6fe Add uao_set_pgfl to limit a uvm_aobj's pages to a specified freelist.
Brought up on tech-kern:

https://mail-index.netbsd.org/tech-kern/2014/05/20/msg017095.html
2014-05-22 14:01:46 +00:00
riastradh 8557df8fac Back out previous silliness -- on failure no pages are allocated. 2014-05-19 05:48:14 +00:00
riastradh 1b07394016 Don't leak memory on failure in uvm_pglistalloc_contig.
Free pages like uvm_pglistalloc_simple does.

Discovered by code inspection.
2014-05-19 05:24:29 +00:00
chs e495a99da8 remove unused variables for UVM_PAGE_TRKOWN. 2014-04-21 16:33:48 +00:00
matt 21b604c9f8 Change cpu_tlb_info definition based on PMAP_TLB_MAX instead of MULTIPROCESSOR 2014-04-03 14:46:25 +00:00
matt 18fc7d3f42 Compare ASIDs, not pmaps. 2014-04-03 14:23:38 +00:00
matt ad2de1daa9 Make this compile on booke again. 2014-04-03 13:54:59 +00:00
matt 1627c0ae4a Allow this to handle H/W tlbs. Some ARM allow for a cheap way to flush all
entries using an ASID from the TLB.  Add support for taking advantage of it.
Most ARMs don't have an easy way to find out what's in the TLB so make
record_asids can just say all ASIDs are in use.  Fix some off by 1 errors.
2014-03-30 15:26:15 +00:00
riastradh 6cb10275d0 Merge riastradh-drm2 to HEAD. 2014-03-18 18:20:35 +00:00
dholland a68f9396b6 Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
2014-03-16 05:20:22 +00:00
pooka 75234fdf68 deduplicate uvm_object_printit() implementation 2014-03-11 20:22:47 +00:00
matt 1a23213bde Use UVMHIST_INITIALIZER (KERNHIST_INITIALIZER) to statically initialize
maphist.  This allows maphist to used very very early in boot well before
uvm has been initialized.
2014-03-05 05:35:55 +00:00
matt 89e28d04a5 use _KERNEL_OPT around #include 2014-03-04 06:14:53 +00:00
christos b1664f725b only check that npages fit, if we are going to add npages to swpgonly. 2014-03-01 18:32:01 +00:00
martin 87d65da062 Fix copy & pasto 2014-02-26 20:33:53 +00:00
matt b007730cbb Add vm.min_address and vm.max_address which return VM_MIN_ADDRESS and
VM_MAXUSER_ADDRESS.
2014-02-26 16:11:59 +00:00
pooka 4f6fb3bf35 Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before
the sysctl link sets are processed, and remove redundancy.

Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate
lines of code.
2014-02-25 18:30:08 +00:00
martin b59de6cf0c Mark a potentially unused variable 2014-02-25 15:20:29 +00:00
martin 195d8e90a0 Mark a variable used only in diagnostics 2014-02-25 14:22:59 +00:00
mlelstv 509b7e4910 Drop empty priority lists, not the full ones. Fixes kern/48611. 2014-02-22 19:05:31 +00:00
skrll 0785dcba86 Remove unnecessary struct simplelock forward declaration. 2014-02-21 22:08:07 +00:00
pooka a2e24f6a7e Use same uvm_swap_shutdown() stub for !vmswap kernels and rump kernels. 2014-02-18 06:18:13 +00:00
manu d7670a176d Properly translate struct swapent for COMPAT_NETBSD32 2014-02-03 13:20:20 +00:00
christos d0d265890a make this compile. 2014-01-25 17:30:45 +00:00
christos 2dffd96cd7 deal with COMPAT_10 issue. 2014-01-25 17:21:49 +00:00
christos 37493adfb4 delete VM_DEFAULT_ADDRESS and commentary which is no longer used/true. 2014-01-25 15:17:17 +00:00