[haiku-commits] BRANCH pdziepak-github.scheduler [6c40a56] src/system/kernel src/system/boot/platform/bios_ia32 src/system/kernel/debug src/system/kernel/arch/x86 headers/private/kernel/arch/x86

  • From: pdziepak-github.scheduler <community@xxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 6 Dec 2013 20:00:36 +0100 (CET)

added 3 changesets to branch 'refs/remotes/pdziepak-github/scheduler'
old head: fa6788d85d72f3f4da2873e749b46be13c7fc33a
new head: 6c40a563bf1c5d011d9f483341d86768551d1fd8
overview: https://github.com/pdziepak/Haiku/compare/fa6788d...6c40a56

----------------------------------------------------------------------------

de51e40: boot, kernel: Replace MAX_BOOT_CPUS with SMP_MAX_CPUS

33de9f6: kernel: Use SMP_MAX_CPUS instead of B_MAX_CPU_COUNT

6c40a56: kernel/smp: Fix warning

                                    [ Pawel Dziepak <pdziepak@xxxxxxxxxxx> ]

----------------------------------------------------------------------------

16 files changed, 30 insertions(+), 33 deletions(-)
headers/private/kernel/arch/x86/arch_kernel_args.h       |  4 ++--
headers/private/kernel/boot/kernel_args.h                |  2 +-
.../boot/platform/bios_ia32/platform_kernel_args.h       |  4 ++--
headers/private/kernel/smp.h                             |  3 ---
src/system/boot/platform/bios_ia32/smp.cpp               | 12 ++++++------
src/system/kernel/arch/x86/32/descriptors.cpp            |  2 +-
src/system/kernel/arch/x86/arch_smp.cpp                  |  4 ++--
.../x86/paging/x86_physical_page_mapper_large_memory.cpp |  2 +-
src/system/kernel/cpu.cpp                                |  2 +-
src/system/kernel/debug/debug.cpp                        |  4 ++--
src/system/kernel/debug/system_profiler.cpp              |  4 ++--
src/system/kernel/debug/user_debugger.cpp                |  2 +-
src/system/kernel/heap.cpp                               |  6 +++---
src/system/kernel/smp.cpp                                |  6 +++---
src/system/kernel/thread.cpp                             |  2 +-
src/system/kernel/timer.cpp                              |  4 ++--

############################################################################

Commit:      de51e40fc8a7487b61d61b9012b4499d655ebb41
Author:      Pawel Dziepak <pdziepak@xxxxxxxxxxx>
Date:        Fri Dec  6 18:43:08 2013 UTC

boot, kernel: Replace MAX_BOOT_CPUS with SMP_MAX_CPUS

----------------------------------------------------------------------------

diff --git a/headers/private/kernel/arch/x86/arch_kernel_args.h 
b/headers/private/kernel/arch/x86/arch_kernel_args.h
index 7e6c967..a0dbae7 100644
--- a/headers/private/kernel/arch/x86/arch_kernel_args.h
+++ b/headers/private/kernel/arch/x86/arch_kernel_args.h
@@ -40,8 +40,8 @@ typedef struct {
        uint32  apic_phys;
        FixedWidthPointer<void> apic;
        uint32  ioapic_phys;
-       uint32  cpu_apic_id[MAX_BOOT_CPUS];
-       uint32  cpu_apic_version[MAX_BOOT_CPUS];
+       uint32  cpu_apic_id[SMP_MAX_CPUS];
+       uint32  cpu_apic_version[SMP_MAX_CPUS];
        // hpet stuff
        uint32  hpet_phys;
        FixedWidthPointer<void> hpet;
diff --git a/headers/private/kernel/boot/kernel_args.h 
b/headers/private/kernel/boot/kernel_args.h
index 95542b1..1ebd5c1 100644
--- a/headers/private/kernel/boot/kernel_args.h
+++ b/headers/private/kernel/boot/kernel_args.h
@@ -59,7 +59,7 @@ typedef struct kernel_args {
        uint64          ignored_physical_memory;
 
        uint32          num_cpus;
-       addr_range      cpu_kstack[MAX_BOOT_CPUS];
+       addr_range      cpu_kstack[SMP_MAX_CPUS];
 
        // boot volume KMessage data
        FixedWidthPointer<void> boot_volume;
diff --git 
a/headers/private/kernel/boot/platform/bios_ia32/platform_kernel_args.h 
b/headers/private/kernel/boot/platform/bios_ia32/platform_kernel_args.h
index a191a0d..6772222 100644
--- a/headers/private/kernel/boot/platform/bios_ia32/platform_kernel_args.h
+++ b/headers/private/kernel/boot/platform/bios_ia32/platform_kernel_args.h
@@ -15,8 +15,8 @@
 #include <util/FixedWidthPointer.h>
 
 
-// must match SMP_MAX_CPUS in arch_smp.h
-#define MAX_BOOT_CPUS 8
+#define SMP_MAX_CPUS 8
+
 #define MAX_PHYSICAL_MEMORY_RANGE 32
 #define MAX_PHYSICAL_ALLOCATED_RANGE 32
 #define MAX_VIRTUAL_ALLOCATED_RANGE 32
diff --git a/headers/private/kernel/smp.h b/headers/private/kernel/smp.h
index 1f4b0f4..88a89e4 100644
--- a/headers/private/kernel/smp.h
+++ b/headers/private/kernel/smp.h
@@ -17,9 +17,6 @@
 #include <string.h>
 
 
-#define SMP_MAX_CPUS MAX_BOOT_CPUS
-
-
 struct kernel_args;
 
 
diff --git a/src/system/boot/platform/bios_ia32/smp.cpp 
b/src/system/boot/platform/bios_ia32/smp.cpp
index a0ed686..9a2e77e 100644
--- a/src/system/boot/platform/bios_ia32/smp.cpp
+++ b/src/system/boot/platform/bios_ia32/smp.cpp
@@ -158,9 +158,9 @@ smp_do_mp_config(mp_floating_struct *floatingStruct)
                                        = (struct mp_base_processor *)pointer;
                                pointer += sizeof(struct mp_base_processor);
 
-                               if (gKernelArgs.num_cpus == MAX_BOOT_CPUS) {
-                                       TRACE(("smp: already reached maximum 
boot CPUs (%d)\n",
-                                               MAX_BOOT_CPUS));
+                               if (gKernelArgs.num_cpus == SMP_MAX_CPUS) {
+                                       TRACE(("smp: already reached maximum 
CPUs (%d)\n",
+                                               SMP_MAX_CPUS));
                                        continue;
                                }
 
@@ -277,9 +277,9 @@ smp_do_acpi_config(void)
                switch (apic->type) {
                        case ACPI_MADT_LOCAL_APIC:
                        {
-                               if (gKernelArgs.num_cpus == MAX_BOOT_CPUS) {
-                                       TRACE(("smp: already reached maximum 
boot CPUs (%d)\n",
-                                               MAX_BOOT_CPUS));
+                               if (gKernelArgs.num_cpus == SMP_MAX_CPUS) {
+                                       TRACE(("smp: already reached maximum 
CPUs (%d)\n",
+                                               SMP_MAX_CPUS));
                                        break;
                                }
 
diff --git a/src/system/kernel/cpu.cpp b/src/system/kernel/cpu.cpp
index 2fdf6fd..3a3df3a 100644
--- a/src/system/kernel/cpu.cpp
+++ b/src/system/kernel/cpu.cpp
@@ -25,7 +25,7 @@
 
 
 /* global per-cpu structure */
-cpu_ent gCPU[MAX_BOOT_CPUS];
+cpu_ent gCPU[SMP_MAX_CPUS];
 
 uint32 gCPUCacheLevelCount;
 static cpu_topology_node sCPUTopology;
diff --git a/src/system/kernel/smp.cpp b/src/system/kernel/smp.cpp
index 63d2805..9e987a5 100644
--- a/src/system/kernel/smp.cpp
+++ b/src/system/kernel/smp.cpp
@@ -188,9 +188,9 @@ dump_spinlock(int argc, char** argv)
 static struct {
        spinlock        *lock;
        bigtime_t       timestamp;
-} sLatency[B_MAX_CPU_COUNT][NUM_LATENCY_LOCKS];
+} sLatency[SMP_MAX_CPUS][NUM_LATENCY_LOCKS];
 
-static int32 sLatencyIndex[B_MAX_CPU_COUNT];
+static int32 sLatencyIndex[SMP_MAX_CPUS];
 static bool sEnableLatencyCheck;
 
 

############################################################################

Commit:      33de9f6c324741760301067c04cc99c13386644e
Author:      Pawel Dziepak <pdziepak@xxxxxxxxxxx>
Date:        Fri Dec  6 18:53:56 2013 UTC

kernel: Use SMP_MAX_CPUS instead of B_MAX_CPU_COUNT

----------------------------------------------------------------------------

diff --git a/src/system/kernel/arch/x86/32/descriptors.cpp 
b/src/system/kernel/arch/x86/32/descriptors.cpp
index d215dc0..53b60e4 100644
--- a/src/system/kernel/arch/x86/32/descriptors.cpp
+++ b/src/system/kernel/arch/x86/32/descriptors.cpp
@@ -28,7 +28,7 @@
 #include "interrupts.h"
 
 
-static interrupt_descriptor* sIDTs[B_MAX_CPU_COUNT];
+static interrupt_descriptor* sIDTs[SMP_MAX_CPUS];
 
 // table with functions handling respective interrupts
 typedef void interrupt_handler_function(struct iframe* frame);
diff --git a/src/system/kernel/arch/x86/arch_smp.cpp 
b/src/system/kernel/arch/x86/arch_smp.cpp
index 340854b..0a97a97 100644
--- a/src/system/kernel/arch/x86/arch_smp.cpp
+++ b/src/system/kernel/arch/x86/arch_smp.cpp
@@ -34,8 +34,8 @@
 #endif
 
 
-static uint32 sCPUAPICIds[B_MAX_CPU_COUNT];
-static uint32 sAPICVersions[B_MAX_CPU_COUNT];
+static uint32 sCPUAPICIds[SMP_MAX_CPUS];
+static uint32 sAPICVersions[SMP_MAX_CPUS];
 
 
 static int32
diff --git 
a/src/system/kernel/arch/x86/paging/x86_physical_page_mapper_large_memory.cpp 
b/src/system/kernel/arch/x86/paging/x86_physical_page_mapper_large_memory.cpp
index 78301a7..07c9446 100644
--- 
a/src/system/kernel/arch/x86/paging/x86_physical_page_mapper_large_memory.cpp
+++ 
b/src/system/kernel/arch/x86/paging/x86_physical_page_mapper_large_memory.cpp
@@ -168,7 +168,7 @@ private:
                        PhysicalPageSlot* fDebugSlot;
                        PhysicalPageSlotPool* fInitialPool;
                        LargeMemoryTranslationMapPhysicalPageMapper     
fKernelMapper;
-                       PhysicalPageOpsCPUData fPerCPUData[B_MAX_CPU_COUNT];
+                       PhysicalPageOpsCPUData fPerCPUData[SMP_MAX_CPUS];
 };
 
 static LargeMemoryPhysicalPageMapper sPhysicalPageMapper;
diff --git a/src/system/kernel/debug/debug.cpp 
b/src/system/kernel/debug/debug.cpp
index b56145b..da74437 100644
--- a/src/system/kernel/debug/debug.cpp
+++ b/src/system/kernel/debug/debug.cpp
@@ -81,7 +81,7 @@ void call_modules_hook(bool enter);
 
 static void syslog_write(const char* text, int32 length, bool notify);
 
-static arch_debug_registers sDebugRegisters[B_MAX_CPU_COUNT];
+static arch_debug_registers sDebugRegisters[SMP_MAX_CPUS];
 
 static debug_page_fault_info sPageFaultInfo;
 
@@ -143,7 +143,7 @@ static int32 sInDebugger = 0;
 static bool sPreviousDprintfState;
 static volatile bool sHandOverKDL = false;
 static int32 sHandOverKDLToCPU = -1;
-static bool sCPUTrapped[B_MAX_CPU_COUNT];
+static bool sCPUTrapped[SMP_MAX_CPUS];
 
 
 #define distance(a, b) ((a) < (b) ? (b) - (a) : (a) - (b))
diff --git a/src/system/kernel/debug/system_profiler.cpp 
b/src/system/kernel/debug/system_profiler.cpp
index 5b341b2..af35707 100644
--- a/src/system/kernel/debug/system_profiler.cpp
+++ b/src/system/kernel/debug/system_profiler.cpp
@@ -199,8 +199,8 @@ private:
                        bool                            
fWaitObjectNotificationsRequested;
                        Thread* volatile        fWaitingProfilerThread;
                        bool                            fProfilingActive;
-                       bool                            
fReentered[B_MAX_CPU_COUNT];
-                       CPUProfileData          fCPUData[B_MAX_CPU_COUNT];
+                       bool                            
fReentered[SMP_MAX_CPUS];
+                       CPUProfileData          fCPUData[SMP_MAX_CPUS];
                        WaitObject*                     fWaitObjectBuffer;
                        int32                           fWaitObjectCount;
                        WaitObjectList          fUsedWaitObjects;
diff --git a/src/system/kernel/debug/user_debugger.cpp 
b/src/system/kernel/debug/user_debugger.cpp
index 6999556..a4eb75e 100644
--- a/src/system/kernel/debug/user_debugger.cpp
+++ b/src/system/kernel/debug/user_debugger.cpp
@@ -53,7 +53,7 @@
 static port_id sDefaultDebuggerPort = -1;
        // accessed atomically
 
-static timer sProfilingTimers[B_MAX_CPU_COUNT];
+static timer sProfilingTimers[SMP_MAX_CPUS];
        // a profiling timer for each CPU -- used when a profiled thread is 
running
        // on that CPU
 
diff --git a/src/system/kernel/heap.cpp b/src/system/kernel/heap.cpp
index a2815bf..9a6ab41 100644
--- a/src/system/kernel/heap.cpp
+++ b/src/system/kernel/heap.cpp
@@ -187,9 +187,9 @@ static const heap_class sHeapClasses[HEAP_CLASS_COUNT] = {
 
 
 static uint32 sHeapCount;
-static heap_allocator *sHeaps[HEAP_CLASS_COUNT * B_MAX_CPU_COUNT];
-static uint32 *sLastGrowRequest[HEAP_CLASS_COUNT * B_MAX_CPU_COUNT];
-static uint32 *sLastHandledGrowRequest[HEAP_CLASS_COUNT * B_MAX_CPU_COUNT];
+static heap_allocator *sHeaps[HEAP_CLASS_COUNT * SMP_MAX_CPUS];
+static uint32 *sLastGrowRequest[HEAP_CLASS_COUNT * SMP_MAX_CPUS];
+static uint32 *sLastHandledGrowRequest[HEAP_CLASS_COUNT * SMP_MAX_CPUS];
 
 static heap_allocator *sVIPHeap;
 static heap_allocator *sGrowHeap = NULL;
diff --git a/src/system/kernel/thread.cpp b/src/system/kernel/thread.cpp
index fc6cbe3..6f9d4da1 100644
--- a/src/system/kernel/thread.cpp
+++ b/src/system/kernel/thread.cpp
@@ -70,7 +70,7 @@ typedef BKernel::TeamThreadTable<Thread> ThreadHashTable;
 
 
 // thread list
-static Thread sIdleThreads[B_MAX_CPU_COUNT];
+static Thread sIdleThreads[SMP_MAX_CPUS];
 static ThreadHashTable sThreadHash;
 static spinlock sThreadHashLock = B_SPINLOCK_INITIALIZER;
 static thread_id sNextThreadID = 2;
diff --git a/src/system/kernel/timer.cpp b/src/system/kernel/timer.cpp
index 5a3ea20..28284f4 100644
--- a/src/system/kernel/timer.cpp
+++ b/src/system/kernel/timer.cpp
@@ -33,7 +33,7 @@ struct per_cpu_timer_data {
        bigtime_t               real_time_offset;
 };
 
-static per_cpu_timer_data sPerCPU[B_MAX_CPU_COUNT];
+static per_cpu_timer_data sPerCPU[SMP_MAX_CPUS];
 
 
 //#define TRACE_TIMER
@@ -383,7 +383,7 @@ cancel_timer(timer* event)
        int cpu = event->cpu;
        SpinLocker spinLocker;
        while (true) {
-               if (cpu >= B_MAX_CPU_COUNT)
+               if (cpu >= SMP_MAX_CPUS)
                        return false;
 
                spinLocker.SetTo(sPerCPU[cpu].lock, false);

############################################################################

Commit:      6c40a563bf1c5d011d9f483341d86768551d1fd8
Author:      Pawel Dziepak <pdziepak@xxxxxxxxxxx>
Date:        Fri Dec  6 18:57:04 2013 UTC

kernel/smp: Fix warning

----------------------------------------------------------------------------

diff --git a/src/system/kernel/smp.cpp b/src/system/kernel/smp.cpp
index 9e987a5..bc7f583 100644
--- a/src/system/kernel/smp.cpp
+++ b/src/system/kernel/smp.cpp
@@ -1366,7 +1366,7 @@ smp_cpu_rendezvous(uint32* var)
 {
        atomic_add((int32*)var, 1);
 
-       while ((uint32)atomic_get((int32*)var) < sNumCPUs)
+       while (atomic_get((int32*)var) < sNumCPUs)
                cpu_wait((int32*)var, sNumCPUs);
 }
 


Other related posts:

  • » [haiku-commits] BRANCH pdziepak-github.scheduler [6c40a56] src/system/kernel src/system/boot/platform/bios_ia32 src/system/kernel/debug src/system/kernel/arch/x86 headers/private/kernel/arch/x86 - pdziepak-github . scheduler