- 15 Sep, 2023 3 commits
-
-
A. Hahn authored
-
A. Hahn authored
-
Alessandro Rubini authored
If user spaces calls read(2), the vfs_read() in fs/read_write.c does not create an iov array any more since v5.19-10288-g3e20a751aff0. That commit does as follows: - struct iovec iov = { .iov_base = buf, .iov_len = len }; - iov_iter_init(&iter, READ, &iov, 1, len); + iov_iter_ubuf(&iter, READ, buf, len); as a resuly, our code that checks iter->iov->nr_segs sees 0 segments, understands we have no buffer, and returns 0. Same for write(2). This is a hack, as I don'w know what happens if the user space uses readv/writev. Actually, I'd better have a simple fops->read() and fops->write() in the driver, but I'm sure I lack a lot of background knowledge here. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 16 Jun, 2023 2 commits
-
-
Sebastian Andrzej Siewior authored
After handle_write_cfg(, WBA_ERR, ) the function wakes a worker which will talk to the hardware and process the MSI. This worker can be delayed if the system is busy leading to latency spikes during the communication. The detour via the worker can be avoided and the request can be completed within the write request. Doing it within handle_write_cfg() could be possible because wishbone_process_msi() is using its own buffer for communication and only the locking is in the way. It looks safer and simpler to simply wait until all locks are released and process the MSI afterwards if needed. This also mimics the previous workflow except that there is less delay now. Don't schedule the worker from handle_write_cfg() but process the MSI request directly from the write callback if needed. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Reviewed-by: Kurt Kanzenbach <kurt@linutronix.de>
-
Sebastian Andrzej Siewior authored
The interrupt service routine schedules a worker in order to perform the main task including signaling userspace. This can lead to increased latency since the worke is not sychronized with the interrupt handler and be invoked "later" depending on the load on the system. This can be avoided by using a threaded interrupt and invoking the work directly in the threaded interrupt. There are still other places which invoke wishbone_slave_ready() (and use the worker) in order to judge if this is sane to do or not. Use threaded interrupts and perform the work in the threaded interrupt. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Reviewed-by: Kurt Kanzenbach <kurt@linutronix.de>
-
- 10 Nov, 2022 2 commits
- 17 Mar, 2022 3 commits
- 03 Nov, 2021 1 commit
-
-
Juan David González Cobas authored
sdbfs: relicense lib to LGPL v2.1 See merge request !1
-
- 01 Nov, 2021 1 commit
-
-
Benoit Rat authored
The userspace and kernel binaries are kept as GPL v2 but the library has been relicensed as LGPL v2.1 in order to allow it to be linked to proprietary software. The permission to relicense the files has been approved by CERN in 2018 and then in 2021 (and also by its main author).
-
- 06 Nov, 2020 2 commits
- 15 Sep, 2020 1 commit
-
-
A. Hahn authored
-
- 16 Mar, 2020 1 commit
-
-
A. Hahn authored
-
- 21 Feb, 2020 2 commits
- 09 Aug, 2019 1 commit
-
-
Dimitris Lampridis authored
-
- 05 Mar, 2019 1 commit
-
-
A. Hahn authored
-
- 25 Feb, 2019 1 commit
-
-
A. Hahn authored
-
- 08 Jun, 2018 1 commit
-
-
A. Hahn authored
-
- 12 Mar, 2018 1 commit
-
-
A. Hahn authored
-
- 15 Jan, 2018 1 commit
-
-
Michael Reese authored
-
- 09 Feb, 2017 2 commits
-
-
Cesar Prados authored
-
Michael Reese authored
-
- 01 Aug, 2016 1 commit
-
-
Cesar Prados authored
-
- 28 Jul, 2016 1 commit
-
-
Cesar Prados authored
-
- 27 Jul, 2016 1 commit
-
-
Cesar Prados authored
-
- 18 Jul, 2016 1 commit
-
-
Cesar Prados authored
-
- 29 Apr, 2016 2 commits
-
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
- 28 Apr, 2016 4 commits
-
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
This avoids sleeping in interrupt handlers.
-
Wesley W. Terpstra authored
-
- 27 Apr, 2016 4 commits
-
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-