#
459e97e6 |
| 20-Sep-2020 |
skrll <skrll@NetBSD.org> |
KNF (sort #includes and remove duplicate sys/cpu.h)
|
#
14b4bbb2 |
| 23-May-2020 |
ad <ad@NetBSD.org> |
Move proc_lock into the data segment. It was dynamically allocated because at the time we had mutex_obj_alloc() but not __cacheline_aligned.
|
#
889dc344 |
| 22-Mar-2020 |
ad <ad@NetBSD.org> |
Merge vfs_cache.c from the ad-namecache branch. With this the namecache index becomes per-directory (initially, a red-black tree). The remaining changes on the branch to namei()/getcwd() will be me
Merge vfs_cache.c from the ad-namecache branch. With this the namecache index becomes per-directory (initially, a red-black tree). The remaining changes on the branch to namei()/getcwd() will be merged in the future.
show more ...
|
#
43a356c2 |
| 18-Jan-2020 |
skrll <skrll@NetBSD.org> |
Use 4K pages on ARM_MMU_EXTENDED platforms (all armv[67] except RPI) by creating a new pool l1ttpl for the userland L1 translation table which needs to be 8KB and 8KB aligned.
Limit the pool to maxp
Use 4K pages on ARM_MMU_EXTENDED platforms (all armv[67] except RPI) by creating a new pool l1ttpl for the userland L1 translation table which needs to be 8KB and 8KB aligned.
Limit the pool to maxproc and add hooks to allow the sysctl changing of maxproc to adjust the pool.
This comes at a 5% performance penalty for build.sh -j8 kernel on a Tegra TK1.
show more ...
|
#
1813308f |
| 02-Jan-2020 |
thorpej <thorpej@NetBSD.org> |
- Eliminate the global "boottime" variable, which was being accessed without any synchronization against changes by e.g. clock_settime(). - Replace with new getbinboottime() / getnanoboottime() / g
- Eliminate the global "boottime" variable, which was being accessed without any synchronization against changes by e.g. clock_settime(). - Replace with new getbinboottime() / getnanoboottime() / getmicroboottime() functions (naming mirrors that of other time access functions in kern_tc.c). It returns the (maybe-converted) value of timebasebin, which also tracks our estimate of when the system was booted (i.e. the legacy "boottime" was redundant).
XXX There needs to be a lockless synchronization mechanism for reading timebasebin, but this is a problem in kern_tc.c that pre-existed these "boottime" changes. At least now the problem is centralized in one location.
show more ...
|
#
fe5654d4 |
| 15-Jan-2019 |
mrg <mrg@NetBSD.org> |
remove kern.panic_now -- crashme panic node replaces it.
|
#
7a45493f |
| 05-Dec-2018 |
christos <christos@NetBSD.org> |
As discussed in tech-kern:
- make sysctl kern.expose_address tri-state: 0: no access 1: access to processes with open /dev/kmem 2: access to everyone defaults: 0: KASLR kernels 1: non-KASLR k
As discussed in tech-kern:
- make sysctl kern.expose_address tri-state: 0: no access 1: access to processes with open /dev/kmem 2: access to everyone defaults: 0: KASLR kernels 1: non-KASLR kernels
- improve efficiency by calling get_expose_address() per sysctl, not per process.
- don't expose addresses for linux procfs
- welcome to 8.99.27, changes to fill_*proc ABI
show more ...
|
#
38ff3f5b |
| 03-Dec-2018 |
christos <christos@NetBSD.org> |
Expose addresses depending on the KASLR setting (from mrg@). Restores the status quo of exposing kernel addresses if there is no KASLR.
|
#
32952fa9 |
| 24-Nov-2018 |
maxv <maxv@NetBSD.org> |
Fix kernel pointer leaks in the kern.lwp sysctl.
|
#
1b548507 |
| 05-Oct-2018 |
christos <christos@NetBSD.org> |
Provide a sysctl kern.expose_address to expose kernel addresses in sysctl structure returns for non-root. Defaults to off. Turning it on will restore sockstat/fstat and friends for regular users.
|
#
b949e7a1 |
| 16-Sep-2018 |
mrg <mrg@NetBSD.org> |
CTL_DEBUG_MAXID is only used to size a static array that the compiler can do just fine itself. use the compiler and remove the define.
|
#
a8a5c538 |
| 03-Sep-2018 |
riastradh <riastradh@NetBSD.org> |
Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a n
Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
show more ...
|
#
53b7a91a |
| 22-Aug-2018 |
msaitoh <msaitoh@NetBSD.org> |
- Cleanup for dynamic sysctl: - Remove unused *_NAMES macros for sysctl. - Remove unused *_MAXID for sysctls. - Move CTL_MACHDEP sysctl definitions for m68k into m68k/include/cpu.h and use them
- Cleanup for dynamic sysctl: - Remove unused *_NAMES macros for sysctl. - Remove unused *_MAXID for sysctls. - Move CTL_MACHDEP sysctl definitions for m68k into m68k/include/cpu.h and use them on all m68k machines.
show more ...
|
#
8778e3b7 |
| 04-Feb-2018 |
maxv <maxv@NetBSD.org> |
Add a proper defflag for GPROF, and include opt_gprof.h, otherwise we're not gonna go very far.
|
#
d65a6a67 |
| 01-Jun-2017 |
chs <chs@NetBSD.org> |
remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
al
remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
all of these paths include an assertion that the allocation has not failed, so callers should not assert that again.
show more ...
|
#
7b4242ab |
| 14-Dec-2016 |
hannken <hannken@NetBSD.org> |
Remove the "target" argment from vfs_drainvnodes() as it is always equal to "desiredvnodes" and move its definition from sys/vnode.h to sys/vnode_impl.h.
Extend vfs_drainvnodes() to also wait for de
Remove the "target" argment from vfs_drainvnodes() as it is always equal to "desiredvnodes" and move its definition from sys/vnode.h to sys/vnode_impl.h.
Extend vfs_drainvnodes() to also wait for deferred vrele to flush and replace the call to vrele_flush() with a call to vfs_drainvnodes().
show more ...
|
#
c8d23c47 |
| 31-May-2016 |
pgoyette <pgoyette@NetBSD.org> |
Add a new kern.messages sysctl to allow kernel message verbosity to be altered after boot.
Fixes PR kern/46539 using patch submitted by Nat Sloss.
|
#
8dc5554b |
| 09-Nov-2015 |
pgoyette <pgoyette@NetBSD.org> |
Whether or not the semaphore code is loaded as a module or built-in, its sysctl data belongs with the module code. Move it from kern/init_sysctl.c to kern/uipc_sem.c
While here, add a new sysctl va
Whether or not the semaphore code is loaded as a module or built-in, its sysctl data belongs with the module code. Move it from kern/init_sysctl.c to kern/uipc_sem.c
While here, add a new sysctl variable kern.posix.semcnt (current count of semaphores) to complement the existing kern.posix.semmax (maximum number of semaphores).
show more ...
|
#
abb480b2 |
| 25-Aug-2015 |
pooka <pooka@NetBSD.org> |
Move a bunch of sysctl nodes from init_sysctl (kitchen sink sysctl file) to init_sysctl_base (only base kernel defs). Main motivation was to fix sysconf(_SC_NPROCESSORS) for Rumprun. As reported by
Move a bunch of sysctl nodes from init_sysctl (kitchen sink sysctl file) to init_sysctl_base (only base kernel defs). Main motivation was to fix sysconf(_SC_NPROCESSORS) for Rumprun. As reported by neeraj on irc, it returned -1 before this fix, so we were doing imaginary computing.
show more ...
|
#
a4adb082 |
| 07-Jul-2015 |
justin <justin@NetBSD.org> |
Move hw.machine and hw.machine_arch sysctls to base so rump can use them
This allows uname(3) and uname(1) to work on rump kernels.
|
#
b1d0ba3b |
| 20-May-2015 |
pooka <pooka@NetBSD.org> |
group msgbuf sysctls with the msgbuf code (init_sysctl.c -> subr_log.c)
|
#
decc4c2a |
| 13-May-2015 |
pgoyette <pgoyette@NetBSD.org> |
More preparation for modularizing the SYSVxxx options. Here we change the kern.ipc.sysvxxx sysctls into dynamic values, so each sub-component of SYSVxxx can declare its own availability.
|
#
de0667b1 |
| 22-Apr-2015 |
pooka <pooka@NetBSD.org> |
move clock sysctls from init_sysctl.c to kern_clock.c
|
#
727810e9 |
| 03-Aug-2014 |
apb <apb@NetBSD.org> |
BUILDINFO part 2: expose sysctl kern.buildinfo
|
#
cd35d2d8 |
| 08-May-2014 |
hannken <hannken@NetBSD.org> |
Add a global vnode cache:
- vcache_get() retrieves a referenced and initialised vnode / fs node pair. - vcache_remove() removes a vnode / fs node pair from the cache.
On cache miss vcache_get() cal
Add a global vnode cache:
- vcache_get() retrieves a referenced and initialised vnode / fs node pair. - vcache_remove() removes a vnode / fs node pair from the cache.
On cache miss vcache_get() calls new vfs operation vfs_loadvnode() to initialise a vnode / fs node pair. This call is guaranteed exclusive, no other thread will try to load this vnode / fs node pair.
Convert ufs/ext2fs, ufs/ffs and ufs/mfs to use this interface.
Remove now unused ufs/ufs_ihash
Discussed on tech-kern.
Welcome to 6.99.41
show more ...
|