search for: waitq

Displaying 20 results from an estimated 41 matches for "waitq".

Did you mean: wait
2011 Dec 20
0
sedf: remove useless tracing printk and harmonize comments style.
...hout updating any scores */ extraq_add_sort_update(d, EXTRA_UTIL_Q, 0); } @@ -265,8 +228,6 @@ static inline void __del_from_queue(stru { struct list_head *list = LIST(d); ASSERT(__task_on_queue(d)); - PRINT(3,"Removing domain %i.%i (bop= %"PRIu64") from runq/waitq\n", - d->domain->domain_id, d->vcpu_id, PERIOD_BEGIN(EDOM_INFO(d))); list_del(list); list->next = NULL; ASSERT(!__task_on_queue(d)); @@ -279,13 +240,12 @@ static inline void list_insert_sort( { struct list_head *cur; - /* Iterate through all e...
2019 Sep 06
1
[PATCH 14/18] virtiofs: Add a fuse_iqueue operation to put() reference
...f --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h > index 85e2dcad68c1..04e2c000d63f 100644 > --- a/fs/fuse/fuse_i.h > +++ b/fs/fuse/fuse_i.h > @@ -479,6 +479,11 @@ struct fuse_iqueue_ops { > */ > void (*wake_pending_and_unlock)(struct fuse_iqueue *fiq) > __releases(fiq->waitq.lock); > + > + /** > + * Put a reference on fiq_priv. I'm a bit confused about fiq->priv's role in this. The callback takes struct fuse_iqueue *fiq as the argument, not void *priv, so it could theoretically do more than just release priv. I think one of the following would b...
2019 Sep 05
0
[PATCH v4 15/16] virtio-fs: add virtiofs filesystem
...ove = virtio_fs_remove, > > +#ifdef CONFIG_PM_SLEEP > > + .freeze = virtio_fs_freeze, > > + .restore = virtio_fs_restore, > > +#endif > > +}; > > + > > +static void virtio_fs_wake_forget_and_unlock(struct fuse_iqueue *fiq) > > +__releases(fiq->waitq.lock) > > +{ > > + struct fuse_forget_link *link; > > + struct virtio_fs_forget *forget; > > + struct scatterlist sg; > > + struct scatterlist *sgs[] = {&sg}; > > + struct virtio_fs *fs; > > + struct virtqueue *vq; > > + struct virtio_fs_vq *fsvq;...
2019 Sep 03
4
[PATCH v4 15/16] virtio-fs: add virtiofs filesystem
....probe = virtio_fs_probe, > + .remove = virtio_fs_remove, > +#ifdef CONFIG_PM_SLEEP > + .freeze = virtio_fs_freeze, > + .restore = virtio_fs_restore, > +#endif > +}; > + > +static void virtio_fs_wake_forget_and_unlock(struct fuse_iqueue *fiq) > +__releases(fiq->waitq.lock) > +{ > + struct fuse_forget_link *link; > + struct virtio_fs_forget *forget; > + struct scatterlist sg; > + struct scatterlist *sgs[] = {&sg}; > + struct virtio_fs *fs; > + struct virtqueue *vq; > + struct virtio_fs_vq *fsvq; > + bool notify; > + u64 unique;...
2019 Sep 03
4
[PATCH v4 15/16] virtio-fs: add virtiofs filesystem
....probe = virtio_fs_probe, > + .remove = virtio_fs_remove, > +#ifdef CONFIG_PM_SLEEP > + .freeze = virtio_fs_freeze, > + .restore = virtio_fs_restore, > +#endif > +}; > + > +static void virtio_fs_wake_forget_and_unlock(struct fuse_iqueue *fiq) > +__releases(fiq->waitq.lock) > +{ > + struct fuse_forget_link *link; > + struct virtio_fs_forget *forget; > + struct scatterlist sg; > + struct scatterlist *sgs[] = {&sg}; > + struct virtio_fs *fs; > + struct virtqueue *vq; > + struct virtio_fs_vq *fsvq; > + bool notify; > + u64 unique;...
2013 Oct 01
1
Gluster on ZFS: cannot open empty files
...ind that I can't open any empty files. Errors show up in the Gluster log, and they are (I inserted the <volume-name> in place of the volume's name): [2013-10-01 19:32:52.125149] W [page.c:991:__ioc_page_error] 0-<volume-name>-io-cache: page error for page = 0x7f944ba2e4a0 & waitq = 0x7f944ba2ba10 [2013-10-01 19:32:52.125180] W [fuse-bridge.c:2049:fuse_readv_cbk] 0-glusterfs-fuse: 2278: READ => -1 (Operation not permitted) Any ideas about how I can fix this? Thanks, Anand -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://supercol...
2019 Sep 06
1
[PATCH v4 15/16] virtio-fs: add virtiofs filesystem
...L */ > > > > Why? > > Don't know. Stefan, do you remember why did you put this comment? If not, > I will get rid of it. This comment can be removed. > > > +static void virtio_fs_wake_pending_and_unlock(struct fuse_iqueue *fiq) > > > +__releases(fiq->waitq.lock) > > > +{ > > > + unsigned int queue_id = VQ_REQUEST; /* TODO multiqueue */ > > > + struct virtio_fs *fs; > > > + struct fuse_conn *fc; > > > + struct fuse_req *req; > > > + struct fuse_pqueue *fpq; > > > + int ret; > > >...
1999 Feb 22
0
(Fwd) Linux autofs overflow in 2.0.36+
..._root_lookup() receives the name of the directory through "dentry->d_name.name", and it's length through "dentry->d_name.len". The dentry structure is passed via pointer through two functions, each performing various operations along the way. It eventually reaches waitq:autofs_wait(). The name, length, and other bits of information are copied into a 'wq' structure, which stands for waiting queue. "wq.name" is "char *name", a pointer to the dentry pointer that refers back to the filename somewhere in the kernel. autofs_wait() then p...
2005 Jul 12
21
Dom0 crashing on x86_64
I am seeing a problem with Dom0 crashing on x86_64 whenever I create a DomU. I''ve done some more testing, and it appears that this problem is somehow related to networking. Dom0 crashes as soon as the networking services are started when DomU is coming up. As an experiment, I brought up DomU without networking, and it stayed up. As soon as I started DomU with networking enabled, however,
2005 Jul 13
14
[Patch] Fix IDLE issue with sedf scheduler on IA64
Hi, Dan, This patch fixes strange behavior on IA64, that IDLE is scheduled more than Dom0 with default sEDF scheduler. The key point is reprogram_ac_timer at the end of ac_timer dispatcher, which programs local apic timer with expire of next ac_timer on x86. Higher precision lapic timer can trigger ac_timer more precisely than simply done in PIT interrupt handler. That works perfectly on x86
2019 Sep 05
38
[PATCH 00/18] virtiofs: Fix various races and cleanups round 1
Hi, Michael Tsirkin pointed out issues w.r.t various locking related TODO items and races w.r.t device removal. In this first round of cleanups, I have taken care of most pressing issues. These patches apply on top of following. git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git#virtiofs-v4 I have tested these patches with mount/umount and device removal using qemu monitor. For
2019 Sep 05
0
[PATCH 03/18] virtiofs: Pass fsvq instead of vq as parameter to virtio_fs_enqueue_req
...= 0; i < total_sgs; i++) sgs[i] = &sg[i]; - fsvq = vq_to_fsvq(vq); spin_lock(&fsvq->lock); + vq = fsvq->vq; ret = virtqueue_add_sgs(vq, sgs, out_sgs, in_sgs, req, GFP_ATOMIC); if (ret < 0) { /* TODO handle full virtqueue */ @@ -824,7 +825,7 @@ __releases(fiq->waitq.lock) /* TODO check for FR_INTERRUPTED? */ retry: - ret = virtio_fs_enqueue_req(fs->vqs[queue_id].vq, req); + ret = virtio_fs_enqueue_req(&fs->vqs[queue_id], req); if (ret < 0) { if (ret == -ENOMEM || ret == -ENOSPC) { /* Virtqueue full. Retry submission */ -- 2.20.1
2019 Sep 05
0
[PATCH 01/18] virtiofs: Remove request from processing list before calling end
...by: Vivek Goyal <vgoyal at redhat.com> --- fs/fuse/virtio_fs.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/fuse/virtio_fs.c b/fs/fuse/virtio_fs.c index 197e79e536f9..a708ccb65662 100644 --- a/fs/fuse/virtio_fs.c +++ b/fs/fuse/virtio_fs.c @@ -826,6 +826,10 @@ __releases(fiq->waitq.lock) } req->out.h.error = ret; pr_err("virtio-fs: virtio_fs_enqueue_req() failed %d\n", ret); + spin_lock(&fpq->lock); + clear_bit(FR_SENT, &req->flags); + list_del_init(&req->list); + spin_unlock(&fpq->lock); fuse_request_end(fc, req); r...
2019 Sep 05
0
[PATCH 08/18] virtiofs: Drain all pending requests during ->remove time
...{ @@ -511,6 +560,7 @@ static void virtio_fs_remove(struct virtio_device *vdev) struct virtio_fs *fs = vdev->priv; virtio_fs_stop_all_queues(fs); + virtio_fs_drain_all_queues(fs); vdev->config->reset(vdev); virtio_fs_cleanup_vqs(vdev, fs); @@ -865,37 +915,6 @@ __releases(fiq->waitq.lock) } } -static void virtio_fs_flush_hiprio_queue(struct virtio_fs_vq *fsvq) -{ - struct virtio_fs_forget *forget; - - WARN_ON(fsvq->in_flight < 0); - - /* Go through pending forget requests and free them */ - spin_lock(&fsvq->lock); - while (1) { - forget = list_first_entry_or...
2019 Sep 05
0
[PATCH 14/18] virtiofs: Add a fuse_iqueue operation to put() reference
...iles changed, 11 insertions(+) diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h index 85e2dcad68c1..04e2c000d63f 100644 --- a/fs/fuse/fuse_i.h +++ b/fs/fuse/fuse_i.h @@ -479,6 +479,11 @@ struct fuse_iqueue_ops { */ void (*wake_pending_and_unlock)(struct fuse_iqueue *fiq) __releases(fiq->waitq.lock); + + /** + * Put a reference on fiq_priv. + */ + void (*put)(struct fuse_iqueue *fiq); }; /** /dev/fuse input queue operations */ diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index 7fa0dcc6f565..70a433bdf01f 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c @@ -631,8 +631,14 @@ EXPOR...
2019 Sep 05
0
[PATCH 02/18] virtiofs: Check whether hiprio queue is connected at submission time
...vgoyal at redhat.com> --- fs/fuse/virtio_fs.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/fs/fuse/virtio_fs.c b/fs/fuse/virtio_fs.c index a708ccb65662..e9497b565dd8 100644 --- a/fs/fuse/virtio_fs.c +++ b/fs/fuse/virtio_fs.c @@ -577,9 +577,16 @@ __releases(fiq->waitq.lock) sg_init_one(&sg, forget, sizeof(*forget)); /* Enqueue the request */ + spin_lock(&fsvq->lock); + + if (!fsvq->connected) { + kfree(forget); + spin_unlock(&fsvq->lock); + goto out; + } + vq = fsvq->vq; dev_dbg(&vq->vdev->dev, "%s\n", __f...
2019 Sep 05
0
[PATCH 13/18] virtiofs: Do not access virtqueue in request submission path
...goyal at redhat.com> --- fs/fuse/virtio_fs.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/fuse/virtio_fs.c b/fs/fuse/virtio_fs.c index 40259368a6bd..01bbf2c0e144 100644 --- a/fs/fuse/virtio_fs.c +++ b/fs/fuse/virtio_fs.c @@ -888,10 +888,10 @@ __releases(fiq->waitq.lock) fs = fiq->priv; fc = fs->vqs[queue_id].fud->fc; - dev_dbg(&fs->vqs[queue_id].vq->vdev->dev, - "%s: opcode %u unique %#llx nodeid %#llx in.len %u out.len %u\n", - __func__, req->in.h.opcode, req->in.h.unique, req->in.h.nodeid, - req->in.h.le...
2013 Jul 29
0
[PATCH 3/5] Intel MIC Host Driver Changes for Virtio Devices.
...open(struct inode *inode, struct file *f) > +{ > + struct mic_vdev *mvdev; > + struct mic_device *mdev = container_of(inode->i_cdev, > + struct mic_device, cdev); > + > + mvdev = kzalloc(sizeof(*mvdev), GFP_KERNEL); > + if (!mvdev) > + return -ENOMEM; > + > + init_waitqueue_head(&mvdev->waitq); > + INIT_LIST_HEAD(&mvdev->list); > + mvdev->mdev = mdev; > + mvdev->virtio_id = -1; > + > + f->private_data = mvdev; > + return 0; > +} > + > +int mic_release(struct inode *inode, struct file *f) > +{ > + struct mic_v...
2012 Feb 04
2
xen-unstable stubdom build error version(3432abcf9380)
..., blkfront_queue); extras/mini-os/blkfront.c:417: remove_waiter(w, blkfront_queue); extras/mini-os/blkfront.c:473: remove_waiter(w, blkfront_queue); extras/mini-os/xenbus/xenbus.c:88: remove_waiter(w, xenbus_watch_queue); extras/mini-os/xenbus/xenbus.c:444: remove_waiter(w, req_info[id].waitq); extras/mini-os/include/wait.h:60:#define remove_waiter(w, wq) do { \ stubdom/ioemu/block-vbd.c:147: remove_waiter(w); tools/qemu-xen-traditional-dir-remote/block-vbd.c:147: remove_waiter(w); tools/ioemu-remote/block-vbd.c:147: remove_waiter(w); tools/qemu-xen-traditional-dir/block-vbd.c...
2007 Mar 13
4
vmx status report against changeset 14356 - 1 new issue
Hi,All We have tested the latest xen on VT platform with Intel 915/E8500 chipset. Two platforms (PAE/32E) test all are based on SMP, It means that we boot up SMP guest OS in VMX. Here is the test summary: New issue (1) ================================================ 1) Fails to restore VMX guests http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=929 Issues List (3):