Skip to content

Commit

Permalink
[PATCH] x86_64: Remove enable/disable_hlt
Browse files Browse the repository at this point in the history
Was only used by the floppy driver to work around some ancient
hardware bug that should never occur on any 64bit system.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Andi Kleen authored and Linus Torvalds committed Jan 12, 2006
1 parent 7eb903f commit 2d52ede
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 37 deletions.
39 changes: 9 additions & 30 deletions arch/x86_64/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,6 @@ asmlinkage extern void ret_from_fork(void);

unsigned long kernel_thread_flags = CLONE_VM | CLONE_UNTRACED;

static atomic_t hlt_counter = ATOMIC_INIT(0);

unsigned long boot_option_idle_override = 0;
EXPORT_SYMBOL(boot_option_idle_override);

Expand All @@ -66,20 +64,6 @@ EXPORT_SYMBOL(boot_option_idle_override);
void (*pm_idle)(void);
static DEFINE_PER_CPU(unsigned int, cpu_idle_state);

void disable_hlt(void)
{
atomic_inc(&hlt_counter);
}

EXPORT_SYMBOL(disable_hlt);

void enable_hlt(void)
{
atomic_dec(&hlt_counter);
}

EXPORT_SYMBOL(enable_hlt);

/*
* We use this if we don't have any better
* idle routine..
Expand All @@ -88,21 +72,16 @@ void default_idle(void)
{
local_irq_enable();

if (!atomic_read(&hlt_counter)) {
clear_thread_flag(TIF_POLLING_NRFLAG);
smp_mb__after_clear_bit();
while (!need_resched()) {
local_irq_disable();
if (!need_resched())
safe_halt();
else
local_irq_enable();
}
set_thread_flag(TIF_POLLING_NRFLAG);
} else {
while (!need_resched())
cpu_relax();
clear_thread_flag(TIF_POLLING_NRFLAG);
smp_mb__after_clear_bit();
while (!need_resched()) {
local_irq_disable();
if (!need_resched())
safe_halt();
else
local_irq_enable();
}
set_thread_flag(TIF_POLLING_NRFLAG);
}

/*
Expand Down
7 changes: 0 additions & 7 deletions include/asm-x86_64/system.h
Original file line number Diff line number Diff line change
Expand Up @@ -330,13 +330,6 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,

void cpu_idle_wait(void);

/*
* disable hlt during certain critical i/o operations
*/
#define HAVE_DISABLE_HLT
void disable_hlt(void);
void enable_hlt(void);

extern unsigned long arch_align_stack(unsigned long sp);

#endif

0 comments on commit 2d52ede

Please sign in to comment.