diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-22 19:44:08 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-22 19:44:08 -0400 |
| commit | 0342cbcfced2ee937d7c8e1c63f3d3082da7c7dc (patch) | |
| tree | fb98291d321a50de2dfd99f9bcaa33274f0c3952 /arch | |
| parent | 391d6276db9fbdedfbc30e1b56390414f0e55988 (diff) | |
| parent | 7f70893173b056df691b2ee7546bb44fd9abae6a (diff) | |
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
rcu: Fix wrong check in list_splice_init_rcu()
net,rcu: Convert call_rcu(xt_rateest_free_rcu) to kfree_rcu()
sysctl,rcu: Convert call_rcu(free_head) to kfree
vmalloc,rcu: Convert call_rcu(rcu_free_vb) to kfree_rcu()
vmalloc,rcu: Convert call_rcu(rcu_free_va) to kfree_rcu()
ipc,rcu: Convert call_rcu(ipc_immediate_free) to kfree_rcu()
ipc,rcu: Convert call_rcu(free_un) to kfree_rcu()
security,rcu: Convert call_rcu(sel_netport_free) to kfree_rcu()
security,rcu: Convert call_rcu(sel_netnode_free) to kfree_rcu()
ia64,rcu: Convert call_rcu(sn_irq_info_free) to kfree_rcu()
block,rcu: Convert call_rcu(disk_free_ptbl_rcu_cb) to kfree_rcu()
scsi,rcu: Convert call_rcu(fc_rport_free_rcu) to kfree_rcu()
audit_tree,rcu: Convert call_rcu(__put_tree) to kfree_rcu()
security,rcu: Convert call_rcu(whitelist_item_free) to kfree_rcu()
md,rcu: Convert call_rcu(free_conf) to kfree_rcu()
Diffstat (limited to 'arch')
| -rw-r--r-- | 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 81a1f4e6bcd8..485c42d97e83 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) | |||
| 112 | irq_move_irq(data); | 112 | irq_move_irq(data); |
| 113 | } | 113 | } |
| 114 | 114 | ||
| 115 | static void sn_irq_info_free(struct rcu_head *head); | ||
| 116 | |||
| 117 | struct sn_irq_info *sn_retarget_vector(struct sn_irq_info *sn_irq_info, | 115 | struct sn_irq_info *sn_retarget_vector(struct sn_irq_info *sn_irq_info, |
| 118 | nasid_t nasid, int slice) | 116 | nasid_t nasid, int slice) |
| 119 | { | 117 | { |
| @@ -177,7 +175,7 @@ struct sn_irq_info *sn_retarget_vector(struct sn_irq_info *sn_irq_info, | |||
| 177 | spin_lock(&sn_irq_info_lock); | 175 | spin_lock(&sn_irq_info_lock); |
| 178 | list_replace_rcu(&sn_irq_info->list, &new_irq_info->list); | 176 | list_replace_rcu(&sn_irq_info->list, &new_irq_info->list); |
| 179 | spin_unlock(&sn_irq_info_lock); | 177 | spin_unlock(&sn_irq_info_lock); |
| 180 | call_rcu(&sn_irq_info->rcu, sn_irq_info_free); | 178 | kfree_rcu(sn_irq_info, rcu); |
| 181 | 179 | ||
| 182 | 180 | ||
| 183 | finish_up: | 181 | finish_up: |
| @@ -338,14 +336,6 @@ static void unregister_intr_pda(struct sn_irq_info *sn_irq_info) | |||
| 338 | rcu_read_unlock(); | 336 | rcu_read_unlock(); |
| 339 | } | 337 | } |
| 340 | 338 | ||
| 341 | static void sn_irq_info_free(struct rcu_head *head) | ||
| 342 | { | ||
| 343 | struct sn_irq_info *sn_irq_info; | ||
| 344 | |||
| 345 | sn_irq_info = container_of(head, struct sn_irq_info, rcu); | ||
| 346 | kfree(sn_irq_info); | ||
| 347 | } | ||
| 348 | |||
| 349 | void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info) | 339 | void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info) |
| 350 | { | 340 | { |
| 351 | nasid_t nasid = sn_irq_info->irq_nasid; | 341 | nasid_t nasid = sn_irq_info->irq_nasid; |
| @@ -399,7 +389,7 @@ void sn_irq_unfixup(struct pci_dev *pci_dev) | |||
| 399 | spin_unlock(&sn_irq_info_lock); | 389 | spin_unlock(&sn_irq_info_lock); |
| 400 | if (list_empty(sn_irq_lh[sn_irq_info->irq_irq])) | 390 | if (list_empty(sn_irq_lh[sn_irq_info->irq_irq])) |
| 401 | free_irq_vector(sn_irq_info->irq_irq); | 391 | free_irq_vector(sn_irq_info->irq_irq); |
| 402 | call_rcu(&sn_irq_info->rcu, sn_irq_info_free); | 392 | kfree_rcu(sn_irq_info, rcu); |
| 403 | pci_dev_put(pci_dev); | 393 | pci_dev_put(pci_dev); |
| 404 | 394 | ||
| 405 | } | 395 | } |
