lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 7 Feb 2008 11:07:38 +0100
From:	Ingo Molnar <mingo@...e.hu>
To:	Jens Axboe <jens.axboe@...cle.com>
Cc:	linux-kernel@...r.kernel.org, Alan.Brunelle@...com,
	arjan@...ux.intel.com, dgc@....com, npiggin@...e.de
Subject: Re: [PATCH 4/8] x86: add support for remotely triggering the block
	softirq


* Jens Axboe <jens.axboe@...cle.com> wrote:

> Signed-off-by: Jens Axboe <jens.axboe@...cle.com>
> ---
>  arch/x86/kernel/smp_32.c                   |   15 +++++++++++++++
>  arch/x86/kernel/smpboot_32.c               |    3 +++
>  include/asm-x86/hw_irq_32.h                |    1 +
>  include/asm-x86/mach-default/entry_arch.h  |    1 +
>  include/asm-x86/mach-default/irq_vectors.h |    1 +
>  5 files changed, 21 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/x86/kernel/smp_32.c b/arch/x86/kernel/smp_32.c
> index dc0cde9..668b8a4 100644
> --- a/arch/x86/kernel/smp_32.c
> +++ b/arch/x86/kernel/smp_32.c
> @@ -672,6 +672,21 @@ void smp_call_function_interrupt(struct pt_regs *regs)
>  	}
>  }
>  
> +fastcall void smp_raise_block_softirq(struct pt_regs *regs)

small detail: there's no fastcall used in arch/x86 anymore.

> +{
> +	unsigned long flags;
> +
> +	ack_APIC_irq();
> +	local_irq_save(flags);
> +	raise_softirq_irqoff(BLOCK_SOFTIRQ);
> +	local_irq_restore(flags);
> +}

if then this should be a general facility to trigger any softirq - not 
just the block one.

>  #define CALL_FUNCTION_VECTOR	0xfb
> +#define BLOCK_SOFTIRQ_VECTOR	0xfa

this wastes another irq vector and is very special-purpose. Why not make 
the smp_call_function() one more scalable instead?

on the more conceptual level, shouldnt we just move to threads instead 
of softirqs? That way you can become affine to any CPU and can do 
cross-CPU wakeups anytime - which will be nice and fast via the 
smp_reschedule_interrupt() facility.

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ