Commit Graph

48152 Commits

Author SHA1 Message Date
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
Pawel Dziepak
9caf7f4fb9 scheduler: Update estimate_max_scheduling_latency() 2013-11-27 04:15:36 +01:00
Pawel Dziepak
7d7dc357bf scheduler: Move simple inline functions to scheduler_common.h 2013-11-27 03:50:43 +01:00
Pawel Dziepak
28da7e985f scheduler: Improve debug commands 2013-11-27 03:36:06 +01:00
Pawel Dziepak
22ae68fa69 scheduler: Simplify thread priority penalties 2013-11-27 03:19:44 +01:00
Pawel Dziepak
b41eaf299a scheduler_set_thread_priority: Fix null dereference 2013-11-26 03:40:32 +01:00
Pawel Dziepak
35153d1c49 scheduler: Send reschedule ICI after enqueueing the thread 2013-11-26 03:03:41 +01:00
Pawel Dziepak
7db89e8dc3 kernel: Rework cpuidle module
* Create new interface for cpuidle modules (similar to the cpufreq
   interface)
 * Generic cpuidle module is no longer needed
 * Fix and update Intel C-State module
2013-11-25 23:50:27 +01:00
Pawel Dziepak
0e94a12f8e kernel: Make CACHE_LINE_ALIGN visible in the whole kernel 2013-11-25 00:35:15 +01:00
Pawel Dziepak
26970784cd scheduler: Clean scheduler_common.h
scheduler_common.h is now meant for types, variables and functions used
by both core scheduler code and implementations of scheduler modes.
Functions like switch_thread() and update_thread_times() do not belong
there anymore.
2013-11-25 00:17:42 +01:00
Pawel Dziepak
1e8ed5558d cpufreq: Rank modules and choose the best one 2013-11-25 00:08:13 +01:00
Pawel Dziepak
13a89839fc scheduler: Fix power saving mode and other minor improvements 2013-11-24 23:51:30 +01:00
Pawel Dziepak
f95b6fdfc8 scheudler: Do not include irq load in thread load 2013-11-24 23:18:58 +01:00
Pawel Dziepak
cec16c2dcf spinlock: Fix panic messages
Thanks Jérôme for pointing this out.
2013-11-24 22:54:14 +01:00
Pawel Dziepak
03f7d3d1db kernel: Restore logical processor disabling 2013-11-24 22:51:07 +01:00
Pawel Dziepak
a04b7d9f96 power: Remove old cpufreq interface 2013-11-22 05:30:14 +01:00
Pawel Dziepak
208f76e578 preferences: Remove CPUFrequency
We can't reliably set contemporary processors to an arbitrary frequency.
There are dependencies between cores and thechnologies like Turbo Boost
which may make actual frequency significantly different than the requested.

Moreover, it is the scheduler job to decide how much CPU performance is
needed and user shouldn't interfere with that.
2013-11-22 05:24:44 +01:00
Pawel Dziepak
99a2e56579 drivers: Remove Intel Enhanced SpeedStep driver
In current state this driver is useless anyway. It's not MP safe.
The P-state values stored in hardcoded tables are only for processors
on which we can't use SpeedStep, because of lack of invariant TSC.

Proper driver should get P-states from ACPI, ensure that the CPU offers
invariant TSC and obviouslt be MP safe.
2013-11-22 05:11:03 +01:00
Pawel Dziepak
7c7b9b795b scheduler: Return time stolen by irq and ipi handlers 2013-11-22 04:25:37 +01:00
Pawel Dziepak
1a7eb50254 scheduler: Calculate correct load on SMT processors 2013-11-22 03:20:19 +01:00