[lkml]   [2009]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 4/4] irq: move move_irq_desc calling to set_affinity directly -v4

This patch and the existing code in Linus's git is wrong.

In mainline:

static void ack_apic_edge(unsigned int irq)
struct irq_desc *desc = irq_to_desc(irq);


static void irq_complete_move(struct irq_desc **descp)
*descp = desc = move_irq_desc(desc, me);
So, we end up modifying the stack pointer in the stack frame of
ack_apic_edge() but not really achieving the actual irq desc migration.

hmm.. We should be seeing crashes/memory leaks etc when this code is
turned on with the appropriate config options (apart from the code not
achieving its actual intentions).

As far as I can see, this patch also has the same issue.
Please fix both mainline and this patch.

And also, please see below:

On Tue, 2009-04-14 at 13:44 -0700, Yinghai Lu wrote:
> Impact: fix panic
> so could move_masked_irq call move_irq_desc directly.
> also we still don't support IRQ_MOVE_PCNTXT aka intr_remapped path

As you added the original bits and also modifying these bits now, it
will be good if you can post a patch for this too. And if you can't test
particular paths, please copy the interested folks and get an ack from
their test results, before pushing the patch to upstream.


 \ /
  Last update: 2009-04-15 00:07    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean