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]
Message-ID: <alpine.DEB.2.11.1601110856120.3575@nanos>
Date:	Mon, 11 Jan 2016 09:03:51 +0100 (CET)
From:	Thomas Gleixner <tglx@...utronix.de>
To:	Zhou Qiao(周侨) <qiaozhou@...micro.com>
cc:	jason@...edaemon.net, linux-kernel@...r.kernel.org
Subject: Re: [Questions]: how to extend nr_irqs for arch arm64

On Mon, 11 Jan 2016, Zhou Qiao(周侨) wrote:

> The nr_irqs is set to NR_IRQS by default and NR_IRQS is small(64). Arch/arm
> platforms will re-set nr_irqs to a larger value. I didn't find similar way
> for arm64. The way I can think of is to redefine NR_IRQS. But according
> comments in include/asm-generic/irq.h, NR_IRQS should not be a large
> value. so what's the preferred way to extend nr_irqs, for arm64
> specifically? Thanks in advance.

With SPARSE_IRQ enabled the core will modify nr_irqs with the following
mechanims:

 - Early boot: arch_probe_nr_irqs(). If the return value of that function is >
   	       NR_IRQS then it will be set to that.

	       This is used for interrupts which have to be allocated and
	       assigned in early boot, but that's really only for legacy
	       purposes. So arm64 should not use that at all.

 - Runtime:    The core dynamically increases nr_irqs up to IRQ_BITMAP_BITS,
    	       which is NR_IRQS + 8192.

The runtime increase is happening, when interrupts are allocated. And you
won't notice unless you try to extend nr_irqs above NR_IRQS + 8192. So there
is nothing to do for arm64, it should just work.

Thanks,

	tglx


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ