Commit Graph

48171 Commits

Author SHA1 Message Date
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