lkml.org 
[lkml]   [2008]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/1] irq: Maintain user set affinity
    On Sat, Nov 8, 2008 at 2:17 PM, Benjamin Herrenschmidt
    <benh@kernel.crashing.org> wrote:
    > On Sat, 2008-11-08 at 14:12 -0800, Yinghai Lu wrote:
    >> On Tue, Nov 4, 2008 at 8:31 AM, Kumar Gala <galak@kernel.crashing.org> wrote:
    >> > From 819ad3ed4660f4238e053728a8b5aa93d22b13d7 Mon Sep 17 00:00:00 2001
    >> > From: Kumar Gala <galak@kernel.crashing.org>
    >> > Date: Tue, 4 Nov 2008 10:13:53 -0600
    >> > Subject: [PATCH 1/1] irq: Maintain user set affinity
    >> >
    >> > This addresses a regression in that if a user specified an affinity
    >> > for an interrupt that affinity information would get reset between
    >> > a request_irq(), free_irq() and request_irq() for the same irq.
    >> >
    >> > On example of this is bringing up an ethernet interface, taking
    >> > it down and bringing it back up again.
    >> >
    >> > Instead of always using the irq_default_affinity we use the
    >> > previous setting of the IRQs affinity with the assumption that
    >> > at boot the IRQs affinity will be set to irq_default_affinity.
    >>
    >> why ?, the default_affinity is expected behavior...
    >>
    >> for example: when MSI is used, second driver could get same irq if
    >> first driver is unloaded.
    >
    > The default affinity should be set when the irq is allocated / assigned
    > to a device, not when it's requested.

    ok, you are right.

    for MSI, affinity is set two times.

    also in dynamic_irq_init is setting with
    #ifdef CONFIG_SMP
    cpus_setall(desc->affinity);
    #endif

    it seems should use irq_default_affinity instead of CPU_MASK_ALL directly there.

    YH


    \
     
     \ /
      Last update: 2008-11-09 01:03    [W:0.022 / U:1.380 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site