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: <m1k4uhrcqm.fsf@fess.ebiederm.org>
Date:	Fri, 12 Feb 2010 20:17:05 -0800
From:	ebiederm@...ssion.com (Eric W. Biederman)
To:	"H. Peter Anvin" <hpa@...or.com>
Cc:	Yinghai Lu <yinghai@...nel.org>, Ingo Molnar <mingo@...e.hu>,
	Thomas Gleixner <tglx@...utronix.de>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Suresh Siddha <suresh.b.siddha@...el.com>,
	linux-kernel@...r.kernel.org, Jeremy Fitzhardinge <jeremy@...p.org>
Subject: Re: [PATCH  0/8] tip related: radix tree for spareseirq and logical flat clean up

"H. Peter Anvin" <hpa@...or.com> writes:

> On 02/12/2010 07:44 PM, Eric W. Biederman wrote:
>> 
>> Thanks for keeping this work alive.
>> 
>
> Indeed.  I am hoping to put this in tip tomorrow or so.
>
>> I just skimmed through do_IRQ and I happened to notice that
>> we have an unnecessary inefficiency that using a radix tree for
>> irq_to_desc will magnify.
>> 
>> handle_irq should take an struct irq_desc * instead of a unsigned int irq.
>> 
>> and the per cpu vector_irq array should become a per cpu vector_desc array.
>> 
>> As soon as irq_to_desc is more than &irq_desc[irq] this saves us work
>> and cache line misses  at the cost of a simple code cleanup.
>
> Good catch.  I haven't looked through the details yet, but I presume
> this can be done on top of this changeset?

Codewise the changes should be completely independent.



Probably the trickiest bit is that drivers/xen/events.c calls handle_irq
and makes handle_irq on ia64 a wrapper for __do_IRQ.

Jeremy is there any good reason why drivers/xen/events.c does not just do:

desc = irq_to_desc(irq);
if (desc)
	generic_handle_irq_desc(irq, desc);

And instead introduces a weird one-off xen specific multi-arch function?


Eric
--
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