lkml.org 
[lkml]   [2012]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH tip/core/rcu 07/47] s390: Convert call_rcu() to kfree_rcu(), drop ext_int_hash_update()
    Date
    From: "Paul E. McKenney" <paul.mckenney@linaro.org>

    The call_rcu() in unregister_external_interrupt() invokes
    ext_int_hash_update(), which just does a kfree(). Convert the
    call_rcu() to kfree_rcu(), allowing ext_int_hash_update() to
    be eliminated.

    Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    ---
    arch/s390/kernel/irq.c | 9 +--------
    1 files changed, 1 insertions(+), 8 deletions(-)

    diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c
    index b9a7fdd..e30b2df 100644
    --- a/arch/s390/kernel/irq.c
    +++ b/arch/s390/kernel/irq.c
    @@ -165,13 +165,6 @@ static inline int ext_hash(u16 code)
    return (code + (code >> 9)) & 0xff;
    }

    -static void ext_int_hash_update(struct rcu_head *head)
    -{
    - struct ext_int_info *p = container_of(head, struct ext_int_info, rcu);
    -
    - kfree(p);
    -}
    -
    int register_external_interrupt(u16 code, ext_int_handler_t handler)
    {
    struct ext_int_info *p;
    @@ -202,7 +195,7 @@ int unregister_external_interrupt(u16 code, ext_int_handler_t handler)
    list_for_each_entry_rcu(p, &ext_int_hash[index], entry)
    if (p->code == code && p->handler == handler) {
    list_del_rcu(&p->entry);
    - call_rcu(&p->rcu, ext_int_hash_update);
    + kfree_rcu(p, rcu);
    }
    spin_unlock_irqrestore(&ext_int_hash_lock, flags);
    return 0;
    --
    1.7.8


    \
     
     \ /
      Last update: 2012-02-04 02:51    [W:0.024 / U:0.236 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site