Displaying 20 results from an estimated 43 matches for "call_rcu".
2013 Mar 09
4
[PATCH] use rcu_barrier() to wait for bdev puts at unmount
Doing this would reliably fail with -EBUSY for me:
# mount /dev/sdb2 /mnt/scratch; umount /mnt/scratch; mkfs.btrfs -f /dev/sdb2
...
unable to open /dev/sdb2: Device or resource busy
because mkfs.btrfs tries to open the device O_EXCL, and somebody still has it.
Using systemtap to track bdev gets & puts shows a kworker thread doing a
blkdev put after mkfs attempts a get; this is left over
2007 Jan 17
11
[PATCH] Add RCU support into Xen - Repost
...t cpu.
+ */
+ cpumask = rcp->cpumask;
+ cpu_clear(rdp->cpu, cpumask);
+ cpumask_raise_softirq(cpumask, SCHEDULE_SOFTIRQ);
+ }
+}
+#else
+static inline void force_quiescent_state(struct rcu_data *rdp,
+ struct rcu_ctrlblk *rcp)
+{
+ raise_softirq(SCHEDULE_SOFTIRQ);
+}
+#endif
+
+/**
+ * call_rcu - Queue an RCU callback for invocation after a grace
period.
+ * @head: structure to be used for queueing the RCU updates.
+ * @func: actual update function to be invoked after the grace period
+ *
+ * The update function will be invoked some time after a full grace
+ * period elapses, in other wor...
2007 Jan 17
11
[PATCH] Add RCU support into Xen - Repost
...t cpu.
+ */
+ cpumask = rcp->cpumask;
+ cpu_clear(rdp->cpu, cpumask);
+ cpumask_raise_softirq(cpumask, SCHEDULE_SOFTIRQ);
+ }
+}
+#else
+static inline void force_quiescent_state(struct rcu_data *rdp,
+ struct rcu_ctrlblk *rcp)
+{
+ raise_softirq(SCHEDULE_SOFTIRQ);
+}
+#endif
+
+/**
+ * call_rcu - Queue an RCU callback for invocation after a grace
period.
+ * @head: structure to be used for queueing the RCU updates.
+ * @func: actual update function to be invoked after the grace period
+ *
+ * The update function will be invoked some time after a full grace
+ * period elapses, in other wor...
2013 Sep 01
0
[PATCH] btrfs: use list_for_each_entry_safe() when delete items
Replace list_for_each_entry() by list_for_each_entry_safe() in
__btrfs_close_devices()
list_for_each_entry() {
list_replace_rcu();
call_rcu(); <-- We may free the device, if we get next
device by the current one, the page fault
may happen.
}
Signed-off-by: Azat Khuzhin <a3at.mail@gmail.com>
Reviewed-by: Miao Xie <miaox@cn.fujitsu.c...
2014 Apr 12
1
btrfs in centos 6
...I see I can fix with
[root at h-248-254 ~]# mknod /dev/btrfs-control c 10 234
[root at h-248-254 ~]# btrfsck /dev/sdb
checking extents
...
which makes me think that I'm missing some udev rules? And then for
the mount oops I only have a photo, but the call chain is
...
bad_area
__do_page_fault
call_rcu_sched
call_rcu
do_page_fault
page_fault
selinux_set_mnt_opts
superblock_doinit
deactiviate_locked_super
selinux_sb_kern_mount
security_sb_kern_mount
vfs_kern_mount
do_kern_mount
I'm not 100% sure this hardware is OK ... but I can do lots of stuff
with the btrfs progs and never see any problems...
2011 Apr 20
4
[PATCH 1/5] Btrfs: fix bh leak on __btrfs_open_devices path
''bh'' is forgot to release if no error is detected
Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
---
fs/btrfs/volumes.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 8b9fb8c..69fc902 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -631,6 +631,7 @@ static int
2013 Oct 08
1
OT: errors compiling kernel module as a rpm package
...k_irq) = 0xecde1418
kernel(_spin_lock_irqsave) = 0x712aa29b kernel(_spin_unlock_bh) =
0x3aa1dbcf kernel(_spin_unlock_irqrestore) = 0x4b07e779
kernel(add_timer) = 0x46085e4f kernel(alloc_netdev_mq) = 0xafbc0d15
kernel(autoremove_wake_function) = 0xc8b57c27 kernel(boot_tvec_bases)
= 0xfc6256b9 kernel(call_rcu) = 0x1251d30f kernel(complete) =
0xe456bd3a kernel(consume_skb) = 0x0de0cf25 kernel(cpu_possible_mask)
= 0x76a495c1 kernel(csum_partial) = 0xe113bbbc kernel(del_timer) =
0x6307fc98 kernel(dev_base_lock) = 0xd1f91bcd kernel(dev_get_by_name)
= 0x6edb8870 kernel(dev_queue_xmit) = 0x0d110dab
kernel(dev...
2023 May 15
5
[Bridge] [PATCH net-next 1/2] bridge: Add a limit on FDB entries
...e *br, struct net_bridge_fdb_entry *f,
hlist_del_init_rcu(&f->fdb_node);
rhashtable_remove_fast(&br->fdb_hash_tbl, &f->rhnode,
br_fdb_rht_params);
+ if (!WARN_ON(!br->fdb_n_entries))
+ br->fdb_n_entries--;
fdb_notify(br, f, RTM_DELNEIGH, swdev_notify);
call_rcu(&f->rcu, fdb_rcu_free);
}
@@ -391,6 +393,9 @@ static struct net_bridge_fdb_entry *fdb_create(struct net_bridge *br,
struct net_bridge_fdb_entry *fdb;
int err;
+ if (unlikely(br->fdb_max_entries && br->fdb_n_entries >= br->fdb_max_entries))
+ return NULL;
+
fdb =...
2023 May 15
3
[Bridge] [PATCH net-next 1/2] bridge: Add a limit on FDB entries
...+ if (!WARN_ON(!br->fdb_n_entries))
> + br->fdb_n_entries--;
This is pointless, just put the WARN_ON(!br->fdb_n_entries) above decrementing, if we
hit that we are already in trouble and not decrementing doesn't help us.
> fdb_notify(br, f, RTM_DELNEIGH, swdev_notify);
> call_rcu(&f->rcu, fdb_rcu_free);
> }
> @@ -391,6 +393,9 @@ static struct net_bridge_fdb_entry *fdb_create(struct net_bridge *br,
> struct net_bridge_fdb_entry *fdb;
> int err;
>
> + if (unlikely(br->fdb_max_entries && br->fdb_n_entries >= br->fdb_max_entri...
2012 Dec 18
0
[PATCH] [RFC] Btrfs: Subpagesize blocksize (WIP).
...to have eb->eb_lock already held */
+/*
+ * The RCU head must point to the first extent buffer belonging to a page.
+ */
+static inline void btrfs_release_extent_buffers_rcu(struct rcu_head *head)
+{
+ struct extent_buffer *eb =
+ container_of(head, struct extent_buffer, rcu_head);
+
+ do {
+ call_rcu(&eb->rcu_head, btrfs_release_extent_buffer_rcu);
+ } while ((eb = eb->next));
+}
+
+/* Expects to have eb->refs_lock already held */
static int release_extent_buffer(struct extent_buffer *eb, gfp_t mask)
{
+ struct btrfs_inode *btrfs_inode = BTRFS_I(eb->tree->mapping->host);...
2023 Jun 19
2
[Bridge] [PATCH net-next v2 2/3] bridge: Add a limit on learned FDB entries
...lete(struct net_bridge *br, struct net_bridge_fdb_entry *f,
hlist_del_init_rcu(&f->fdb_node);
rhashtable_remove_fast(&br->fdb_hash_tbl, &f->rhnode,
br_fdb_rht_params);
+ br->fdb_cur_learned_entries -= learned;
fdb_notify(br, f, RTM_DELNEIGH, swdev_notify);
call_rcu(&f->rcu, fdb_rcu_free);
}
-/* Delete a local entry if no other port had the same address. */
+/* Delete a local entry if no other port had the same address.
+ *
+ * This function should only be called on entries with BR_FDB_LOCAL set,
+ * so clear_bit never removes the last bit in BR_FDB_...
2014 Jan 16
0
[PATCH net-next v3 4/5] net-sysfs: add support for device-specific rx queue sysfs attributes
...e_release(struct kobject *kobj)
{
struct netdev_rx_queue *queue = to_rx_queue(kobj);
+#ifdef CONFIG_RPS
struct rps_map *map;
struct rps_dev_flow_table *flow_table;
@@ -743,6 +738,7 @@ static void rx_queue_release(struct kobject *kobj)
RCU_INIT_POINTER(queue->rps_flow_table, NULL);
call_rcu(&flow_table->rcu, rps_dev_flow_table_release);
}
+#endif
memset(kobj, 0, sizeof(*kobj));
dev_put(queue->dev);
@@ -767,21 +763,27 @@ static int rx_queue_add_kobject(struct net_device *net, int index)
kobject_put(kobj);
return error;
}
+ if (net->sysfs_rx_queue_group)
+...
2014 Jan 16
0
[PATCH net-next v4 4/6] net-sysfs: add support for device-specific rx queue sysfs attributes
...e_release(struct kobject *kobj)
{
struct netdev_rx_queue *queue = to_rx_queue(kobj);
+#ifdef CONFIG_RPS
struct rps_map *map;
struct rps_dev_flow_table *flow_table;
@@ -743,6 +738,7 @@ static void rx_queue_release(struct kobject *kobj)
RCU_INIT_POINTER(queue->rps_flow_table, NULL);
call_rcu(&flow_table->rcu, rps_dev_flow_table_release);
}
+#endif
memset(kobj, 0, sizeof(*kobj));
dev_put(queue->dev);
@@ -767,21 +763,27 @@ static int rx_queue_add_kobject(struct net_device *net, int index)
kobject_put(kobj);
return error;
}
+ if (net->sysfs_rx_queue_group)
+...
2009 Sep 09
4
Dmesg log for 2.6.31-rc8 kernel been built on F12 (rawhide) vs log for same kernel been built on F11 and installed on F12
Previous 2.6.31-rc8 kernel was built on F11 and installed with modules on F12.
Current kernel has been built on F12 (2.6.31-0.204.rc9.fc12.x86_64) and installed
on F12 before loading under Xen 3.4.1.
Dmesg log looks similar to Michael Yuong''s ''rc7.git4'' kernel for F12.
Boris.
--- On Tue, 9/8/09, Boris Derzhavets <bderzhavets@yahoo.com> wrote:
From: Boris
2020 Oct 24
1
kvm+nouveau induced lockdep gripe
...bers protected by the bo::resv::reserved lock.
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -547,10 +547,10 @@ static void ttm_bo_delayed_workqueue(str
((HZ / 100) < 1) ? 1 : HZ / 100);
}
-static void ttm_bo_release(struct kref *kref)
+static void ttm_bo_call_rcu_fn(struct rcu_head *rcu)
{
- struct ttm_buffer_object *bo =
- container_of(kref, struct ttm_buffer_object, kref);
+ struct ttm_buffer_object *bo = container_of(rcu,
+ struct ttm_buffer_object, rcu);
struct ttm_bo_device *bdev = bo->bdev;
struct ttm_mem_type_manager *man = &bdev...
2012 Jul 12
6
[PATCH 0/5] Add vhost-blk support
Hi folks,
This patchset adds vhost-blk support. vhost-blk is a in kernel virito-blk
device accelerator. Compared to userspace virtio-blk implementation, vhost-blk
gives about 5% to 15% performance improvement.
Asias He (5):
aio: Export symbols and struct kiocb_batch for in kernel aio usage
eventfd: Export symbol eventfd_file_create()
vhost: Make vhost a separate module
vhost-net: Use
2012 Jul 12
6
[PATCH 0/5] Add vhost-blk support
Hi folks,
This patchset adds vhost-blk support. vhost-blk is a in kernel virito-blk
device accelerator. Compared to userspace virtio-blk implementation, vhost-blk
gives about 5% to 15% performance improvement.
Asias He (5):
aio: Export symbols and struct kiocb_batch for in kernel aio usage
eventfd: Export symbol eventfd_file_create()
vhost: Make vhost a separate module
vhost-net: Use
2016 Jun 16
0
[PATCH v7 00/12] Support non-lru page migration
...t;] ? woken_wake_function+0x51/0x51
[ 344.264260] [<ffffffffa0415a0f>] ? zram_rw_page+0x21d/0x21d [zram]
[ 344.264263] [<ffffffff81494948>] ? blk_exit_rl+0x39/0x39
[ 344.264267] [<ffffffff81491130>] ? handle_bad_sector+0x192/0x192
[ 344.264271] [<ffffffff811506a1>] ? call_rcu+0x12/0x14
[ 344.264274] [<ffffffff8129a684>] ? put_object+0x58/0x5b
[ 344.264277] [<ffffffff81496128>] generic_make_request+0x2bc/0x496
[ 344.264280] [<ffffffff81495e6c>] ? blk_plug_queued_count+0x103/0x103
[ 344.264283] [<ffffffff814965fa>] submit_bio+0x2f8/0x324
[...
2012 Mar 09
10
[PATCH 0 of 9] (v2) arm: SMP boot
This patch series implements SMP boot for arch/arm, as far as getting
all CPUs up and running the idle loop.
Changes from v1:
- moved barriers out of loop in udelay()
- dropped broken GIC change in favour of explanatory comment
- made the increment of ready_cpus atomic (I couldn''t move the
increment to before signalling the next CPU because the PT
switch has to happen between
2023 Jun 19
4
[Bridge] [PATCH net-next v2 0/3, iproute2-next 0/1] bridge: Add a limit on learned FDB entries
Introduce a limit on the amount of learned FDB entries on a bridge,
configured by netlink with a build time default on bridge creation in
the kernel config.
For backwards compatibility the kernel config default is disabling the
limit (0).
Without any limit a malicious actor may OOM a kernel by spamming packets
with changing MAC addresses on their bridge port, so allow the bridge
creator to limit