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:	Mon, 14 Sep 2015 13:50:58 +0100
From:	Marc Zyngier <marc.zyngier@....com>
To:	Yang Yingliang <yangyingliang@...wei.com>,
	linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
CC:	Jiang Liu <jiang.liu@...ux.intel.com>,
	Thomas Gleixner <tglx@...utronix.de>,
	Mark Rutland <mark.rutland@....com>,
	Will Deacon <will.deacon@....com>,
	Russell King - ARM Linux <linux@....linux.org.uk>
Subject: Re: [RFC PATCH v2 1/3] irqchip: GICv3: set non-percpu irqs status
 with IRQ_MOVE_PCNTXT

On 14/09/15 10:29, Yang Yingliang wrote:
> Use irq_set_status_flags() helper set irqs status with
> IRQ_MOVE_PCNTXT. So that it can do set affinity when
> calling irq_set_affinity_locked().
> 
> Cc: Jiang Liu <jiang.liu@...ux.intel.com>
> Cc: Thomas Gleixner <tglx@...utronix.de>
> Cc: Marc Zyngier <marc.zyngier@....com>
> Cc: Mark Rutland <mark.rutland@....com>
> Cc: Will Deacon <will.deacon@....com>
> Cc: Russell King - ARM Linux <linux@....linux.org.uk>
> Signed-off-by: Yang Yingliang <yangyingliang@...wei.com>
> ---
>  drivers/irqchip/irq-gic-v3.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
> index 7deed6e..3d8f400 100644
> --- a/drivers/irqchip/irq-gic-v3.c
> +++ b/drivers/irqchip/irq-gic-v3.c
> @@ -761,6 +761,7 @@ static int gic_irq_domain_map(struct irq_domain *d, unsigned int irq,
>  		irq_domain_set_info(d, irq, hw, chip, d->host_data,
>  				    handle_fasteoi_irq, NULL, NULL);
>  		set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
> +		irq_set_status_flags(irq, IRQ_MOVE_PCNTXT);
>  	}
>  	/* LPIs */
>  	if (hw >= 8192 && hw < GIC_ID_NR) {
> @@ -769,6 +770,7 @@ static int gic_irq_domain_map(struct irq_domain *d, unsigned int irq,
>  		irq_domain_set_info(d, irq, hw, chip, d->host_data,
>  				    handle_fasteoi_irq, NULL, NULL);
>  		set_irq_flags(irq, IRQF_VALID);
> +		irq_set_status_flags(irq, IRQ_MOVE_PCNTXT);
>  	}
>  
>  	return 0;
> 

I'm still not keen on this approach. As far as I can tell, the only
reason you are setting this flag is to be able to use
GENERIC_PENDING_IRQ. irq_set_affinity_locked would work even if you
don't select this config option, because irq_can_move_pcntxt() will
always return true if this is not selected.

So instead of adding flags that are not required on ARM, why don't you
just make migration.c to compile even when GENERIC_PENDING_IRQ is not
selected? I think this would make a lot more sense.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...
--
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