Age | Commit message (Collapse) | Author |
|
* kern/timer.c: Remove register qualifiers.
|
|
* kern/thread_swap.c: Remove register qualifiers.
|
|
* kern/thread.c: Remove register qualifiers.
|
|
* kern/task.c: Remove register qualifiers.
|
|
* kern/syscall_subr.c: Remove register qualifiers.
|
|
* kern/syscall_emulation.c: Remove register qualifiers.
|
|
* kern/strings.c: Remove register qualifiers.
|
|
* kern/startup.c: Remove register qualifiers.
|
|
* kern/sched_prim.c: Remove register qualifiers.
|
|
* kern/sched.h: Remove register qualifiers.
|
|
* kern/queue.h: Remove register qualifiers.
|
|
* kern/queue.c: Remove register qualifiers.
|
|
* kern/processor.c: Remove register qualifiers.
|
|
* kern/priority.c: Remove register qualifiers.
|
|
* kern/printf.c: Remove register qualifiers.
|
|
* kern/pc_sample.c: Remove register qualifiers.
|
|
* kern/machine.c: Remove register qualifiers.
|
|
* kern/mach_factor.c: Remove register qualifiers.
|
|
* kern/mach_clock.c: Remove register qualifiers.
|
|
* kern/lock_mon.c: Remove register qualifiers.
|
|
* kern/lock.c: Remove register qualifiers.
|
|
* kern/ipc_tt.c: Remove register qualifiers.
|
|
* kern/ipc_sched.c: Remove register qualifiers.
|
|
* kern/ipc_mig.c: Remove register qualifiers.
|
|
* kern/host.c: Remove register qualifiers.
|
|
* kern/exception.c: Remove register qualifiers.
|
|
* kern/eventcount.c: Remove register qualifiers.
|
|
* kern/bootstrap.c: Remove register qualifiers.
|
|
* kern/ast.c: Remove register qualifiers.
|
|
* kern/act.c: Remove register qualifiers.
|
|
|
|
Found using the Clang Static Analyzer.
* kern/elf-load.c (exec_load): Properly propagate errors.
|
|
Variable reply_port is never used. There is indication in the comments
that it might be used in future function call, so comment it.
* kern/ipc_mig.c (syscall_device_writev_request): Comment variable.
|
|
|
|
* device/tty.h [luna88k]: Remove ifdef and include for nonexistent header files.
* kern/debug.c: Remove check for luna88k.
|
|
* kern/lock.h (db_show_all_slocks): Add prototype.
|
|
* kern/slab.c (slab_info): Fix format for vm_size_t.
|
|
There is currently no actual use of constructors, which is why this bug has
been long overlooked.
* kern/slab.c (kmem_cpu_pool_fill): Call constructor on buffers unless
verification is enabled for the cache, or the constructor is NULL.
|
|
* kern/ipc_mig.c (syscall_device_write_request): Comment unused variable.
|
|
|
|
* kern/act.c (act_create): Remove unused variable.
|
|
* kern/slab.c (kmem_cache_free): Relock cache before retrying releasing
an object to the CPU pool layer.
|
|
* kern/thread.c (thread_force_terminate): Remove unneeded variable
initialization.
|
|
Reported by Miguel Figueiredo
* kern/thread.c (thread_create): Remove duplicate reset of
new_thread->pc_sample.buffer to 0.
|
|
This reverts a change brought when reworking slab lists handling that made
the allocator store slabs in LIFO order, whatever their reference count.
While it's fine for free slabs, it actually increased fragmentation for
partial slabs.
* kern/slab.c (kmem_cache_alloc_from_slab): Insert slabs that become partial
at the end of the partial slabs list.
|
|
This change increases clarity.
* kern/list.h (list_insert): Rename to ...
(list_insert_head): ... this.
* kern/slab.c: Update calls to list_insert.
|
|
* kern/slab.c (kalloc_init): Remove unused variables.
|
|
Instead of walking the list of free slabs while holding the cache lock,
detach the list from the cache and directly compute the final count values,
and destroy slabs after releasing the cache lock.
* kern/slab.c (kmem_cache_reap): Optimize.
|
|
Don't enforce strong ordering of partial slabs. Separating partial slabs
from free slabs is already effective against fragmentation, and sorting
would sometimes cause pathological scalability issues. In addition, store
new slabs (whether free or partial) in LIFO order for better cache usage.
* kern/slab.c (kmem_cache_grow): Insert new slab at the head of the slabs list.
(kmem_cache_alloc_from_slab): Likewise. In addition, don't sort partial slabs.
(kmem_cache_free_to_slab): Likewise.
* kern/slab.h: Remove comment about partial slabs sorting.
|
|
* kern/slab.c (kmem_cache_free): Lock cache before releasing an object to
the slab layer.
|