/SPARTAN/trunk/src/synch/spinlock.c |
---|
28,10 → 28,7 |
#include <arch.h> |
#ifdef __SMP__ |
#include <arch/smp/atomic.h> |
#endif |
#include <arch/atomic.h> |
#include <synch/spinlock.h> |
#ifdef __SMP__ |
/SPARTAN/trunk/src/time/clock.c |
---|
38,11 → 38,8 |
#include <print.h> |
#include <arch.h> |
#include <list.h> |
#include <arch/atomic.h> |
#ifdef __SMP__ |
#include <arch/smp/atomic.h> |
#endif |
/** Clock routine |
* |
* Clock routine executed from clock interrupt handler |
/SPARTAN/trunk/src/proc/scheduler.c |
---|
42,11 → 42,8 |
#include <mm/page.h> |
#include <synch/spinlock.h> |
#include <arch/faddr.h> |
#include <arch/atomic.h> |
#ifdef __SMP__ |
#include <arch/smp/atomic.h> |
#endif /* __SMP__ */ |
/* |
* NOTE ON ATOMIC READS: |
* Some architectures cannot read __u32 atomically. |
53,7 → 50,6 |
* For that reason, all accesses to nrdy and the likes must be protected by spinlock. |
*/ |
spinlock_t nrdylock; |
volatile int nrdy; |
77,7 → 73,6 |
*/ |
void scheduler_init(void) |
{ |
spinlock_initialize(&nrdylock); |
} |
140,9 → 135,7 |
continue; |
} |
spinlock_lock(&nrdylock); |
nrdy--; |
spinlock_unlock(&nrdylock); |
atomic_dec(&nrdy); |
spinlock_lock(&CPU->lock); |
CPU->nrdy--; |
498,9 → 491,7 |
cpu->nrdy--; |
spinlock_unlock(&cpu->lock); |
spinlock_lock(&nrdylock); |
nrdy--; |
spinlock_unlock(&nrdylock); |
atomic_dec(&nrdy); |
r->n--; |
list_remove(&t->rq_link); |
/SPARTAN/trunk/src/proc/thread.c |
---|
49,6 → 49,7 |
#include <arch/interrupt.h> |
#include <smp/ipi.h> |
#include <arch/faddr.h> |
#include <arch/atomic.h> |
char *thread_states[] = {"Invalid", "Running", "Sleeping", "Ready", "Entering", "Exiting"}; /**< Thread states */ |
134,9 → 135,8 |
r->n++; |
spinlock_unlock(&r->lock); |
spinlock_lock(&nrdylock); |
avg = ++nrdy / config.cpu_active; |
spinlock_unlock(&nrdylock); |
atomic_inc(&nrdy); |
avg = nrdy / config.cpu_active; |
spinlock_lock(&cpu->lock); |
if ((++cpu->nrdy) > avg) { |
/SPARTAN/trunk/src/mm/tlb.c |
---|
30,7 → 30,7 |
#include <smp/ipi.h> |
#include <synch/spinlock.h> |
#include <typedefs.h> |
#include <arch/smp/atomic.h> |
#include <arch/atomic.h> |
#include <arch/interrupt.h> |
#include <config.h> |
#include <arch.h> |
/SPARTAN/trunk/src/Makefile |
---|
70,7 → 70,7 |
-$(MAKE) clean |
kernel.bin: $(arch_objects) $(objects) $(test_objects) |
$(LD) $(LFLAGS) $(arch_objects) $(objects) $(test_objects) -o $@ >kernel.map |
$(LD) $(LFLAGS) $(arch_objects) $(objects) $(test_objects) -o $@ -Map kernel.map |
%.s: %.S |
$(CC) $(CPPFLAGS) -E $< >$@ |