Pawel Dziepak
5a7289d720
scheduler: Fix unassigning threads from core being disabled
2013-12-18 00:03:56 +01:00
Pawel Dziepak
1b06228f13
kernel: Propagate scheduler modes to cpu{freq, idle} modules
2013-12-17 23:26:37 +01:00
Pawel Dziepak
4fcbac58de
kernel: Make get_cpu_topology() return a pointer to const
...
The client code is not supposed to change the topology info.
It would be also nice if cpu_topology_node::children was an array of
pointers to const but that would require several const_casts in the
topology tree generation code so it's probably not worth it.
2013-12-17 22:08:18 +01:00
Pawel Dziepak
735f67481f
x86: Debugger can now use dr3
2013-12-17 04:31:29 +01:00
Pawel Dziepak
a5b070f1fa
x86: Store pointer to the current thread in gs:0
...
Apparently, reading from dr3 is slower than reading from memory
with cache hit.
Also, depending on hypervisor configuration, accessing dr3 may cause
a VM exit (and, at least on kvm, it does), what makes it much slower
than a memory access even when there is a cache miss.
2013-12-17 04:08:51 +01:00
Pawel Dziepak
611376fef7
x86: Let each CPU have its own GDT
2013-12-17 03:57:20 +01:00
Pawel Dziepak
7b9668170c
kernel, boot: Increase CPU limit to 64
2013-12-16 05:00:02 +01:00
Pawel Dziepak
d02aaee17e
kernel, libroot: Add more memory info in system_info
...
system_info now contains all information previously available only
through __get_system_info_etc(B_MEMORY_INFO, ...).
2013-12-16 04:53:46 +01:00
Pawel Dziepak
1bc7045fdf
kernel, libroot: Introduce new API for obtaining system info
2013-12-16 03:58:43 +01:00
Pawel Dziepak
b2504f3b56
drivers/graphics: Remove log_{coll, dump}
...
log_coll.c and log_dump.{c, h} don't appear to be used by anything.
2013-12-13 02:44:29 +01:00
Pawel Dziepak
e397276460
apps/BSnow: Do not use cpu_clock_speed
2013-12-13 02:38:35 +01:00
Pawel Dziepak
25feff2c29
ProcessController: Explicitly check thread priority
2013-12-12 21:46:48 +01:00
Pawel Dziepak
8cf2f36c37
libroot: Fix Hoard when the CPU count is not a power of two
2013-12-12 21:14:25 +01:00
Pawel Dziepak
82727571c3
libroot: Fix uninitialized counter in mutex_lock()
2013-12-12 04:00:56 +01:00
Pawel Dziepak
53aac05ee5
libroot: Add prototypes for __{get,set}_scheduler_mode
2013-12-12 03:56:33 +01:00
Pawel Dziepak
39f6ced055
bin/top: Remove busy_wait_time
2013-12-12 03:18:47 +01:00
Pawel Dziepak
4c125ccacd
kits/media: CPU clock speed may vary significantly
2013-12-12 03:00:18 +01:00
Pawel Dziepak
fa15750925
kernel/cpu: Do not use get_system_info() to identify CPU
2013-12-12 02:53:18 +01:00
Pawel Dziepak
02749e2429
x86/paging: Do not use array placement new
...
Array placement new has implementation defined memory overhead what
makes it pretty useless.
2013-12-11 01:59:31 +01:00
Pawel Dziepak
bcfdf88186
apps, kernel: Remove B_MAX_CPU_COUNT
2013-12-06 21:57:58 +01:00
Pawel Dziepak
fd96cf08a7
libroot: Remove _SC_NPROCESSORS_MAX and _SC_CPUID_MAX
...
_SC_NPROCESSORS_MAX and _SC_CPUID_MAX appear to be supported only by
Solaris. There isn't much point in exposing such values to the userland
anyway.
2013-12-06 21:54:07 +01:00
Pawel Dziepak
f6b71d5518
libroot/malloc: Do not use B_MAX_CPU_COUNT
2013-12-06 21:05:05 +01:00
Pawel Dziepak
3106f832a9
kernel/smp: Fix warning
2013-12-06 19:57:04 +01:00
Pawel Dziepak
e6ea745e81
kernel: Use SMP_MAX_CPUS instead of B_MAX_CPU_COUNT
2013-12-06 19:53:56 +01:00
Pawel Dziepak
3e0e3be760
boot, kernel: Replace MAX_BOOT_CPUS with SMP_MAX_CPUS
2013-12-06 19:43:08 +01:00
Pawel Dziepak
f0fe981769
kernel: Fix gcc2 build
2013-12-06 03:31:20 +01:00
Pawel Dziepak
2b04d8ab31
x86/paging: Use CPUSet instead of cpu_mask_t
2013-12-06 03:27:48 +01:00
Pawel Dziepak
e052b3e630
x86/paging: Remove unusued local variable
2013-12-06 03:11:42 +01:00
Pawel Dziepak
5c7f09c4d7
kernel/util: Bitmap: Silence warning
2013-12-06 03:10:50 +01:00
Pawel Dziepak
7629d527c5
kernel: Use CPUSet in ICI code instead of cpu_mask_t
2013-12-06 03:08:39 +01:00
Pawel Dziepak
5f3798921f
x86/paging: Use ROUNUP() to compute the number of initial slots
2013-12-05 23:33:03 +01:00
Pawel Dziepak
730882d615
kernel: Remove RunQueueLink.h
2013-12-05 23:28:42 +01:00
Pawel Dziepak
52b442a687
kernel: smp_cpu_rendezvous(): Use counter instead of bitmap
2013-12-05 23:10:04 +01:00
Pawel Dziepak
d287274dce
scheduler: Code refactoring
2013-12-05 22:47:30 +01:00
Pawel Dziepak
2e3cbcfa8a
x86: Allocate as much initial physical page pools as needed
2013-12-02 03:19:25 +01:00
Pawel Dziepak
255b601750
scheduler: Do not send reschedule ICI when not needed
2013-11-29 21:40:25 +01:00
Pawel Dziepak
2b7ea4cddf
kernel: Remove Thread::next_state
2013-11-29 19:31:10 +01:00
Pawel Dziepak
c19f1e4fbb
scheduler: Add missing check for real time threads
2013-11-29 18:09:56 +01:00
Pawel Dziepak
673f08a995
kernel: Make thread_block_locked() private
2013-11-29 05:30:50 +01:00
Pawel Dziepak
0721899709
scheduler: Allow mode to specify time slice length
2013-11-29 05:11:44 +01:00
Pawel Dziepak
7f8cf14b71
scheduler, kernel/util: Fix style issues
2013-11-29 04:51:38 +01:00
Pawel Dziepak
1987bf19b5
scheduler: Update CPU disabling code to match recent changes
2013-11-29 04:35:50 +01:00
Pawel Dziepak
1ee1d0cbab
kernel, drivers: Fix gcc2 build
2013-11-29 03:47:38 +01:00
Pawel Dziepak
3514fd77f7
kernel: Reduce lock contention when processing ICIs
2013-11-29 03:36:44 +01:00
Pawel Dziepak
e736a456ba
kernel: Forbid implicit casts between spinlock and int32
2013-11-29 03:36:31 +01:00
Pawel Dziepak
7b4befcd47
scheduler: Introduce upper bound on latency
2013-11-29 03:28:28 +01:00
Pawel Dziepak
f2243876df
scheduler: Remove some unnecessary checks against idle threads
2013-11-28 17:53:19 +01:00
Pawel Dziepak
f9ee217ad6
scheduler: Migrate threads less often in power saving mode
2013-11-28 16:33:50 +01:00
Pawel Dziepak
286b341a40
kernel: Merge two occurences of thread resume code
2013-11-28 14:03:57 +01:00
Pawel Dziepak
87115715b4
scheduler: Protect package data with rw_spinlock
2013-11-27 04:57:26 +01:00