lkml.org 
[lkml]   [2011]   [May]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH tip/core/rcu 78/86] ia64,rcu: convert call_rcu(sn_irq_info_free) to kfree_rcu()
    Date
    From: Lai Jiangshan <laijs@cn.fujitsu.com>

    The rcu callback sn_irq_info_free() just calls a kfree(),
    so we use kfree_rcu() instead of the call_rcu(sn_irq_info_free).

    Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Jes Sorensen <jes@sgi.com>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    ---
    arch/ia64/sn/kernel/irq.c | 14 ++------------
    1 files changed, 2 insertions(+), 12 deletions(-)

    diff --git a/arch/ia64/sn/kernel/irq.c b/arch/ia64/sn/kernel/irq.c
    index 81a1f4e..485c42d 100644
    --- a/arch/ia64/sn/kernel/irq.c
    +++ b/arch/ia64/sn/kernel/irq.c
    @@ -112,8 +112,6 @@ static void sn_ack_irq(struct irq_data *data)
    irq_move_irq(data);
    }

    -static void sn_irq_info_free(struct rcu_head *head);
    -
    struct sn_irq_info *sn_retarget_vector(struct sn_irq_info *sn_irq_info,
    nasid_t nasid, int slice)
    {
    @@ -177,7 +175,7 @@ struct sn_irq_info *sn_retarget_vector(struct sn_irq_info *sn_irq_info,
    spin_lock(&sn_irq_info_lock);
    list_replace_rcu(&sn_irq_info->list, &new_irq_info->list);
    spin_unlock(&sn_irq_info_lock);
    - call_rcu(&sn_irq_info->rcu, sn_irq_info_free);
    + kfree_rcu(sn_irq_info, rcu);


    finish_up:
    @@ -338,14 +336,6 @@ static void unregister_intr_pda(struct sn_irq_info *sn_irq_info)
    rcu_read_unlock();
    }

    -static void sn_irq_info_free(struct rcu_head *head)
    -{
    - struct sn_irq_info *sn_irq_info;
    -
    - sn_irq_info = container_of(head, struct sn_irq_info, rcu);
    - kfree(sn_irq_info);
    -}
    -
    void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info)
    {
    nasid_t nasid = sn_irq_info->irq_nasid;
    @@ -399,7 +389,7 @@ void sn_irq_unfixup(struct pci_dev *pci_dev)
    spin_unlock(&sn_irq_info_lock);
    if (list_empty(sn_irq_lh[sn_irq_info->irq_irq]))
    free_irq_vector(sn_irq_info->irq_irq);
    - call_rcu(&sn_irq_info->rcu, sn_irq_info_free);
    + kfree_rcu(sn_irq_info, rcu);
    pci_dev_put(pci_dev);

    }
    --
    1.7.3.2


    \
     
     \ /
      Last update: 2011-05-01 15:27    [W:0.020 / U:61.080 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site