Hi,
On 12/8/23 04:27, Luca wrote:
> How much faster is this? did you measure also on hw? I would use RDTSC
> to do it, I don't know if there are better ways.
So, ~8 microseconds was reduced to ~60 nanoseconds, so roughly 100 times faster.
I don't know how to do it with rdtsc.
> Interestingly, Lin
Il 11/08/23 10:34, Damien Zammit ha scritto:> diff --git
a/i386/i386/cpu_number.h b/i386/i386/cpu_number.h
index c00896e8..df086370 100644
--- a/i386/i386/cpu_number.h
+++ b/i386/i386/cpu_number.h
@@ -39,12 +39,30 @@
#define CX(addr, reg) addr(,reg,8)
#endif
-#define CPU_NUMBER(reg
---
i386/i386/ast_check.c | 4
i386/i386/i386asm.sym | 1 +
i386/i386/locore.S | 1 +
i386/i386/smp.c | 16 +---
i386/i386/smp.h | 1 +
i386/i386at/idt.h | 3 +++
i386/i386at/int_init.c | 4
i386/i386at/interrupt.S | 8
x86_64/i
---
kern/sched_prim.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/kern/sched_prim.c b/kern/sched_prim.c
index dd0f492b..f7557124 100644
--- a/kern/sched_prim.c
+++ b/kern/sched_prim.c
@@ -1266,6 +1266,8 @@ void thread_setrun(
processor->state = PROCESSOR_D
Hi,
This patchset speeds up smp a lot, but I still can't get a shell.
I get random hangs during bootup, or maybe they are just a sporadic slowness.
There are still problems with the scheduler, I think.
Damien
---
i386/i386/apic.c | 11 +--
i386/i386/cpu_number.h | 20 +++-
i386/i386/locore.S | 2 +-
i386/i386/mp_desc.c| 3 +--
x86_64/locore.S| 10 +-
5 files changed, 31 insertions(+), 15 deletions(-)
diff --git a/i386/i386/apic.c b/i386/i386/apic