Displaying 20 results from an estimated 63 matches for "fiq".
Did you mean:
fi
2019 Sep 06
1
[PATCH 14/18] virtiofs: Add a fuse_iqueue operation to put() reference
...400, Vivek Goyal wrote:
> 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.
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...
2019 Sep 05
0
[PATCH 14/18] virtiofs: Add a fuse_iqueue operation to put() reference
Soon I will make virtio_fs object reference counted, where reference will
be taken by device as well as by fuse_conn (fuse_conn->fuse_iqueue->fiq_priv).
When fuse_connection is going away, it should put its reference on virtio_fs
object.
So add a fuse_iqueue method which can be used to call into virtio_fs to
put the reference on the object (fiq_priv).
Signed-off-by: Vivek Goyal <vgoyal at redhat.com>
---
fs/fuse/fuse_i.h | 5 +++++...
2013 Jan 11
2
[LLVMdev] ARM interrupt attributes (IRQ and FIQ) support
Hello,
As part of a try to make clang/llvm build Rockbox, we realized that clang
and llvm have no support for irq/fiq calling convention on ARM which is
implemented using the interrupt("IRQ") and interrupt("FIQ") attributes on
GCC. Although it is always possible to implement those in assembly, I would
like to know if there has been some work done to implement this the same
way GCC does, or if t...
2019 Sep 05
0
[PATCH v4 15/16] virtio-fs: add virtiofs filesystem
...= 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;
&...
2019 Sep 06
1
[PATCH v4 15/16] virtio-fs: add virtiofs filesystem
...gt; + /* TODO validate config_get != NULL */
> >
> > 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;...
2019 Sep 18
0
[PATCH v6] virtio-fs: add virtiofs filesystem
...ABLED(CONFIG_VIRTIO_FS)
> + /** virtio-fs's physically contiguous buffer for in and out args */
> + void *argbuf;
> +#endif
> };
>
> struct fuse_iqueue;
> @@ -383,6 +387,11 @@ struct fuse_iqueue_ops {
> */
> void (*wake_pending_and_unlock)(struct fuse_iqueue *fiq)
> __releases(fiq->lock);
> +
> + /**
> + * Cleanup up when fuse_iqueue is destroyed
Cleanup up -> Clean up
> + */
> + void (*release)(struct fuse_iqueue *fiq);
> };
>
> /** /dev/fuse input queue operations */
> diff --git a/fs/fuse/inode.c b/fs/fuse/i...
2019 Sep 03
4
[PATCH v4 15/16] virtio-fs: add virtiofs filesystem
...g_get != NULL */
Why?
> + .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;
> +...
2019 Sep 03
4
[PATCH v4 15/16] virtio-fs: add virtiofs filesystem
...g_get != NULL */
Why?
> + .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;
> +...
2019 Oct 15
7
[PATCH 0/5] virtiofs: Fix couple of deadlocks
Hi,
We have couple of places which can result in deadlock. This patch series
fixes these.
We can be called with fc->bg_lock (for background requests) while
submitting a request. This leads to two constraints.
- We can't end requests in submitter's context and call fuse_end_request()
as it tries to take fc->bg_lock as well. So queue these requests on a
list and use a worker to
2013 Jan 13
0
[LLVMdev] ARM interrupt attributes (IRQ and FIQ) support
Amaury,
> GCC does, or if there is no plan to support this in future ? I am no llvm
> expert but with some help I think I could implement this if it is a wanted
> feature.
The answer is easy - noone needed them in the past, thus they were not
implemented...
--
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University
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 Oct 21
0
[PATCH 1/5] virtiofs: Do not end request in submission context
...IST_HEAD(&fs->vqs[i].end_reqs);
> > snprintf(fs->vqs[i].name, sizeof(fs->vqs[i].name),
> > "requests.%u", i - VQ_REQUEST);
> > callbacks[i] = virtio_fs_vq_done;
> > @@ -918,6 +940,7 @@ __releases(fiq->lock)
> > struct fuse_conn *fc;
> > struct fuse_req *req;
> > struct fuse_pqueue *fpq;
> > + struct virtio_fs_vq *fsvq;
> > int ret;
> >
> > WARN_ON(list_empty(&fiq->pending));
> > @@ -951,7 +97...
2019 Oct 23
1
[PATCH -next] virtiofs: remove unused variable 'fc'
...quot;)
Signed-off-by: YueHaibing <yuehaibing at huawei.com>
---
fs/fuse/virtio_fs.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/fs/fuse/virtio_fs.c b/fs/fuse/virtio_fs.c
index 2de8fc0..a5c8604 100644
--- a/fs/fuse/virtio_fs.c
+++ b/fs/fuse/virtio_fs.c
@@ -980,7 +980,6 @@ __releases(fiq->lock)
{
unsigned int queue_id = VQ_REQUEST; /* TODO multiqueue */
struct virtio_fs *fs;
- struct fuse_conn *fc;
struct fuse_req *req;
struct virtio_fs_vq *fsvq;
int ret;
@@ -993,7 +992,6 @@ __releases(fiq->lock)
spin_unlock(&fiq->lock);
fs = fiq->priv;
- fc = fs-&g...
2015 Jan 23
2
a dedicated audio encoder
...t playback. No messages in syslog either.
Then I tried: arecord -D hw:1 -f cd testrec.wav
But as soon as something other than silence was sent to the device, lines
like these started to show up:
Jan 22 23:17:48 testpi kernel: [ 9190.974009] Transfer to device 4 endpoint 0x4 frame 1697 failed - FIQ reported NYET. Data may have been lost.
Jan 22 23:17:48 testpi kernel: [ 9191.093025] Transfer to device 4 endpoint 0x4 frame 1816 failed - FIQ reported NYET. Data may have been lost.
Jan 22 23:17:49 testpi kernel: [ 9191.362062] Transfer to device 4 endpoint 0x4 frame 37 failed - FIQ reported NYET...
2015 Jan 22
2
a dedicated audio encoder
Hi u,
On Thu, 22 Jan 2015, unosonic wrote:
> well, sort of, with a PI, Ices2 as a client, and an USB audio device as
> input, e.g. a "class compliant" audio recoder like Olympus LS5, Zoom H2
> etc., but also a little mixer like the Behringer Xenyx 302 USB.
> The problem i've encountered is with USB class1 devices, i.e. so called
> "full speed" USB (which is
2019 Oct 30
0
[PATCH 1/3] virtiofs: Use a common function to send forget
...tqueue_kick_prepare(vq);
spin_unlock(&fsvq->lock);
-
- if (notify)
- virtqueue_notify(vq);
- pr_debug("virtio-fs: worker %s dispatched one forget request.\n",
- __func__);
+ if (send_forget_request(fsvq, forget, true))
+ return;
}
}
@@ -710,14 +730,9 @@ __releases(fiq->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;
- int ret;
link = fuse_dequeue_forget(fiq,...
2019 Oct 30
6
[PATCH 0/3] virtiofs: Small Cleanups for 5.5
Hi Miklos,
Here are few small cleanups for virtiofs for 5.5. I had received some
comments from Michael Tsirkin on original virtiofs patches and these
cleanups are result of these comments.
Thanks
Vivek
Vivek Goyal (3):
virtiofs: Use a common function to send forget
virtiofs: Do not send forget request "struct list_head" element
virtiofs: Use completions while waiting for queue
2019 Sep 06
2
[PATCH 15/18] virtiofs: Make virtio_fs object refcounted
...this is intentional and is supposed to
mean something, but it's confusing.
> +{
> + mutex_lock(&virtio_fs_mutex);
> + kref_put(&fs->refcount, release_virtiofs_obj);
> + mutex_unlock(&virtio_fs_mutex);
> +}
> +
> +static void virtio_fs_put(struct fuse_iqueue *fiq)
Minor issue: this function name is confusingly similar to
virtiofs_put(). Please rename to virtio_fs_fiq_put().
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://li...
2019 Sep 06
2
[PATCH 15/18] virtiofs: Make virtio_fs object refcounted
...this is intentional and is supposed to
mean something, but it's confusing.
> +{
> + mutex_lock(&virtio_fs_mutex);
> + kref_put(&fs->refcount, release_virtiofs_obj);
> + mutex_unlock(&virtio_fs_mutex);
> +}
> +
> +static void virtio_fs_put(struct fuse_iqueue *fiq)
Minor issue: this function name is confusingly similar to
virtiofs_put(). Please rename to virtio_fs_fiq_put().
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://li...
2023 May 31
1
[PATCH V2] virtio-fs: Improved request latencies when Virtio queue is full
...h_work);
} else {
INIT_WORK(&fsvq->done_work, virtio_fs_hiprio_done_work);
- INIT_DELAYED_WORK(&fsvq->dispatch_work,
- virtio_fs_hiprio_dispatch_work);
+ INIT_WORK(&fsvq->dispatch_work,
+ virtio_fs_hiprio_dispatch_work);
}
}
@@ -1254,8 +1258,6 @@ __releases(fiq->lock)
spin_lock(&fsvq->lock);
list_add_tail(&req->list, &fsvq->queued_reqs);
inc_in_flight_req(fsvq);
- schedule_delayed_work(&fsvq->dispatch_work,
- msecs_to_jiffies(1));
spin_unlock(&fsvq->lock);
return;
}
@@ -1265,7 +1267,7 @@...