Displaying 20 results from an estimated 513 matches for "wake_up".
2006 Aug 14
0
Question concerning the EXT3 Journaling code
...ads in order to find out where they are
spending their time in the hopes that I can identify a place where they
may be experiencing unexpected delays.
This debugging lead me to look at the code in start_this_handle(),
contained in file fs/jbd/transaction.c, and I have a question concerning
the wake_up() logic for the thread which may go to sleep on
<j_wait_transaction_locked>.
The thread will sleep as long as <j_barrier_count> is non-zero:
repeat:
spin_lock(&journal->j_state_lock);
...
if (journal->j_barrier_cou...
2012 Aug 01
7
[PATCH] Btrfs: barrier before waitqueue_active
...100644
--- a/fs/btrfs/compression.c
+++ b/fs/btrfs/compression.c
@@ -818,6 +818,7 @@ static void free_workspace(int type, struct list_head *workspace)
btrfs_compress_op[idx]->free_workspace(workspace);
atomic_dec(alloc_workspace);
wake:
+ smp_mb();
if (waitqueue_active(workspace_wait))
wake_up(workspace_wait);
}
diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c
index 335605c..8cc9b19 100644
--- a/fs/btrfs/delayed-inode.c
+++ b/fs/btrfs/delayed-inode.c
@@ -513,9 +513,11 @@ static void __btrfs_remove_delayed_item(struct btrfs_delayed_item *delayed_item)
rb_erase(&dela...
2023 Apr 22
1
[PATCH] ocfs2: fix missing reset j_num_trans for sync
Sorry, please pause this patch review.
When I was investigating fstest generic failed case 347 361, I found
the wake_up() action should move out the 'if()' area. The correct way
is calling wake_up() unconditionally.
Thanks,
Heming
On 4/21/23 4:36 PM, Heming Zhao wrote:
> fstest generic case 266 272 281 trigger hanging issue when umount.
>
> I use 266 to describe the root cause.
>
> ```
>...
2010 Oct 25
14
[PATCH 0/6] Btrfs commit fixes, async subvol operations
Hi Chris,
This is the extent of my current queue of Btrfs snapshot/subvol/commit
stuff. Most of these were posted several months ago. Can be sent
upstream during this merge window? Not having this functionality is
becoming a bit of a roadblock for our efforts to keep the Ceph data in a
consistent state.
These patches are also available from
2013 May 15
6
xenfs: race condition on xenstore watch
Dear xen-devel,
There''s a race condition in xenfs (xenstore driver) that causes
userspace utility xenstore-watch to crash.
Normally, the userspace process gets an "OK" from xenfs and then the
watch fires immediately after. Occasionally, this happens the other way
around: the watch fires before the driver sends "OK", which confuses
the xenstore-watch client. It seems
2023 Apr 21
1
[PATCH] ocfs2: fix missing reset j_num_trans for sync
...929320bd967 100644
--- a/fs/ocfs2/super.c
+++ b/fs/ocfs2/super.c
@@ -408,6 +408,9 @@ static int ocfs2_sync_fs(struct super_block *sb, int wait)
if (jbd2_journal_start_commit(osb->journal->j_journal,
&target)) {
+ /* kick commit thread to reset journal->j_num_trans */
+ wake_up(&osb->checkpoint_event);
+
if (wait)
jbd2_log_wait_commit(osb->journal->j_journal,
target);
--
2.39.2
2013 Mar 04
2
[PATCH 1/2] Btrfs: fix wrong handle at error path of create_snapshot() when the commit fails
...xt,
struct btrfs_pending_snapshot,
list);
-
+ snapshot->error = -ECANCELED;
list_del_init(&snapshot->list);
-
- kfree(snapshot);
}
}
@@ -3840,6 +3838,8 @@ void btrfs_cleanup_one_transaction(struct btrfs_transaction *cur_trans,
cur_trans->blocked = 1;
wake_up(&root->fs_info->transaction_blocked_wait);
+ btrfs_evict_pending_snapshots(cur_trans);
+
cur_trans->blocked = 0;
wake_up(&root->fs_info->transaction_wait);
@@ -3849,8 +3849,6 @@ void btrfs_cleanup_one_transaction(struct btrfs_transaction *cur_trans,
btrfs_destroy_de...
2015 Aug 09
2
[REGRESSION] nouveau: Crash in gk104_fifo_intr_runlist()
...rc5 and I am sporadically getting crashes shortly after
startup in gk104_fifo_intr_runlist(). What I've found is that the 'mask' value
read from offset 0x2a00 comes back as '0xbad0da00'. This causes the 'engn'
variable to be assigned the value 9, which is invalid; then wake_up() is called
on an uninitialized waitqueue which causes the crash.
Reverting commit 1addc12648521d ("drm/nouveau/fifo/gk104: kick channels when
deactivating them") seemed to make the problem go away, although I can't be 100%
sure because the problem is sporadic.
Attached an example o...
2012 Nov 02
1
[PATCH] ocfs2:fix memory leak in dlm_add_migration_mle
...p->assert_master == 0)
+ __dlm_put_mle(tmp);
ret = DLM_MIGRATE_RESPONSE_MASTERY_REF;
mlog(0, "%s:%.*s: master=%u, newmaster=%u, "
"telling master to get ref for cleared out mle "
@@ -3173,6 +3181,7 @@ static void dlm_clean_block_mle(struct dlm_ctxt *dlm,
wake_up(&mle->wq);
/* Do not need events any longer, so detach from heartbeat */
+ __dlm_unlink_mle(dlm, mle);
__dlm_mle_detach_hb_events(dlm, mle);
__dlm_put_mle(mle);
}
--
1.7.8.6
2011 Feb 11
1
[PATCH 2/3]: Staging: hv: Use native wait primitives
...+595,8 @@ static void vmbus_onopen_result(struct vmbus_channel_message_header *hdr)
memcpy(&msginfo->response.open_result,
result,
sizeof(struct vmbus_channel_open_result));
- osd_waitevent_set(msginfo->waitevent);
+ msginfo->wait_condition = 1;
+ wake_up(&msginfo->waitevent);
break;
}
}
@@ -643,7 +646,8 @@ static void vmbus_ongpadl_created(struct vmbus_channel_message_header *hdr)
memcpy(&msginfo->response.gpadl_created,
gpadlcreated,
sizeof(struct vmbus_channel_gpadl_created));
- osd_waitev...
2011 Feb 11
1
[PATCH 2/3]: Staging: hv: Use native wait primitives
...+595,8 @@ static void vmbus_onopen_result(struct vmbus_channel_message_header *hdr)
memcpy(&msginfo->response.open_result,
result,
sizeof(struct vmbus_channel_open_result));
- osd_waitevent_set(msginfo->waitevent);
+ msginfo->wait_condition = 1;
+ wake_up(&msginfo->waitevent);
break;
}
}
@@ -643,7 +646,8 @@ static void vmbus_ongpadl_created(struct vmbus_channel_message_header *hdr)
memcpy(&msginfo->response.gpadl_created,
gpadlcreated,
sizeof(struct vmbus_channel_gpadl_created));
- osd_waitev...
2016 Jan 01
2
[PATCH RFC] virtio_balloon: refill by config handler
...oon.c b/drivers/virtio/virtio_balloon.c
index 7efc329..ee29473 100644
--- a/drivers/virtio/virtio_balloon.c
+++ b/drivers/virtio/virtio_balloon.c
@@ -589,7 +589,7 @@ static int virtballoon_restore(struct virtio_device *vdev)
virtio_device_ready(vdev);
- fill_balloon(vb, towards_target(vb));
+ wake_up(&vb->config_change);
update_balloon_size(vb);
return 0;
}
--
MST
2016 Jan 01
2
[PATCH RFC] virtio_balloon: refill by config handler
...oon.c b/drivers/virtio/virtio_balloon.c
index 7efc329..ee29473 100644
--- a/drivers/virtio/virtio_balloon.c
+++ b/drivers/virtio/virtio_balloon.c
@@ -589,7 +589,7 @@ static int virtballoon_restore(struct virtio_device *vdev)
virtio_device_ready(vdev);
- fill_balloon(vb, towards_target(vb));
+ wake_up(&vb->config_change);
update_balloon_size(vb);
return 0;
}
--
MST
2019 May 07
3
[Qemu-devel] [PATCH v7 2/6] virtio-pmem: Add virtio pmem driver
...; + unsigned long flags;
> + struct virtio_pmem_request *req, *req_buf;
> + struct virtio_pmem *vpmem = vq->vdev->priv;
> +
> + spin_lock_irqsave(&vpmem->pmem_lock, flags);
> + while ((req = virtqueue_get_buf(vq, &len)) != NULL) {
> + req->done = true;
> + wake_up(&req->host_acked);
> +
> + if (!list_empty(&vpmem->req_list)) {
> + req_buf = list_first_entry(&vpmem->req_list,
> + struct virtio_pmem_request, list);
> + list_del(&vpmem->req_list);
Shouldn't it be rather `list_del(vpmem->req_list.next)`...
2019 May 07
3
[Qemu-devel] [PATCH v7 2/6] virtio-pmem: Add virtio pmem driver
...; + unsigned long flags;
> + struct virtio_pmem_request *req, *req_buf;
> + struct virtio_pmem *vpmem = vq->vdev->priv;
> +
> + spin_lock_irqsave(&vpmem->pmem_lock, flags);
> + while ((req = virtqueue_get_buf(vq, &len)) != NULL) {
> + req->done = true;
> + wake_up(&req->host_acked);
> +
> + if (!list_empty(&vpmem->req_list)) {
> + req_buf = list_first_entry(&vpmem->req_list,
> + struct virtio_pmem_request, list);
> + list_del(&vpmem->req_list);
Shouldn't it be rather `list_del(vpmem->req_list.next)`...
2011 Apr 01
4
[PATCH 1/5] staging: hv: change camel case funct names to lower case funct in hv_mouse
...nReceiveDeviceInfo(struct mousevsc_dev *InputDevice, struct synthhid_device_info *DeviceInfo)
+static void mousevsc_on_receive_device_info(struct mousevsc_dev *InputDevice,
+ struct synthhid_device_info *DeviceInfo)
{
int ret = 0;
struct hid_descriptor *desc;
@@ -413,7 +415,8 @@ Cleanup:
wake_up(&InputDevice->DeviceInfoWaitEvent);
}
-static void MousevscOnReceiveInputReport(struct mousevsc_dev *InputDevice, struct synthhid_input_report *InputReport)
+static void mousevsc_on_receive_input_report(struct mousevsc_dev *InputDevice,
+ struct synthhid_input_report *InputReport)
{...
2011 Apr 01
4
[PATCH 1/5] staging: hv: change camel case funct names to lower case funct in hv_mouse
...nReceiveDeviceInfo(struct mousevsc_dev *InputDevice, struct synthhid_device_info *DeviceInfo)
+static void mousevsc_on_receive_device_info(struct mousevsc_dev *InputDevice,
+ struct synthhid_device_info *DeviceInfo)
{
int ret = 0;
struct hid_descriptor *desc;
@@ -413,7 +415,8 @@ Cleanup:
wake_up(&InputDevice->DeviceInfoWaitEvent);
}
-static void MousevscOnReceiveInputReport(struct mousevsc_dev *InputDevice, struct synthhid_input_report *InputReport)
+static void mousevsc_on_receive_input_report(struct mousevsc_dev *InputDevice,
+ struct synthhid_input_report *InputReport)
{...
2014 Feb 13
2
[PATCH net v2] vhost: fix ref cnt checking deadlock
...virtqueue *vq;
};
@@ -116,14 +121,6 @@ static void vhost_net_enable_zcopy(int vq)
vhost_net_zcopy_mask |= 0x1 << vq;
}
-static void vhost_net_zerocopy_done_signal(struct kref *kref)
-{
- struct vhost_net_ubuf_ref *ubufs;
-
- ubufs = container_of(kref, struct vhost_net_ubuf_ref, kref);
- wake_up(&ubufs->wait);
-}
-
static struct vhost_net_ubuf_ref *
vhost_net_ubuf_alloc(struct vhost_virtqueue *vq, bool zcopy)
{
@@ -134,21 +131,24 @@ vhost_net_ubuf_alloc(struct vhost_virtqueue *vq, bool zcopy)
ubufs = kmalloc(sizeof(*ubufs), GFP_KERNEL);
if (!ubufs)
return ERR_PTR(-ENOMEM);...
2014 Feb 13
2
[PATCH net v2] vhost: fix ref cnt checking deadlock
...virtqueue *vq;
};
@@ -116,14 +121,6 @@ static void vhost_net_enable_zcopy(int vq)
vhost_net_zcopy_mask |= 0x1 << vq;
}
-static void vhost_net_zerocopy_done_signal(struct kref *kref)
-{
- struct vhost_net_ubuf_ref *ubufs;
-
- ubufs = container_of(kref, struct vhost_net_ubuf_ref, kref);
- wake_up(&ubufs->wait);
-}
-
static struct vhost_net_ubuf_ref *
vhost_net_ubuf_alloc(struct vhost_virtqueue *vq, bool zcopy)
{
@@ -134,21 +131,24 @@ vhost_net_ubuf_alloc(struct vhost_virtqueue *vq, bool zcopy)
ubufs = kmalloc(sizeof(*ubufs), GFP_KERNEL);
if (!ubufs)
return ERR_PTR(-ENOMEM);...
2015 Aug 11
2
[REGRESSION] nouveau: Crash in gk104_fifo_intr_runlist()
...> after
>> startup in gk104_fifo_intr_runlist(). What I've found is that the 'mask'
>> value
>> read from offset 0x2a00 comes back as '0xbad0da00'. This causes the
>> 'engn'
>> variable to be assigned the value 9, which is invalid; then wake_up() is
>> called
>> on an uninitialized waitqueue which causes the crash.
>>
>> Reverting commit 1addc12648521d ("drm/nouveau/fifo/gk104: kick channels
>> when
>> deactivating them") seemed to make the problem go away, although I can't
>> be 100...