Commit Graph

1675 Commits

Author SHA1 Message Date
nonaka
1383a653f7 fix build failure when UVMHIST is defined. 2014-12-25 08:11:09 +00:00
nonaka
c08471032a fix compile failure. 2014-12-24 04:03:02 +00:00
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