dvb: add support for memory mapped I/O
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest11 patches 5 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/11 | media: vb2-core: Fix a bug about unnecessary calls to queue cancel and freedrivers/ | +2 | 0 replies | |
| 2/11 | media: videobuf2: Add new uAPI for DVB streaming I/Odrivers/ drivers/ drivers/ +3 more | +733 | 4 replies | |
| 3/11 | media: vb2-core: add pr_fmt() macrodrivers/ | +16 | 0 replies | |
| 4/11 | media: vb2-core: add a new warning about pending buffersdrivers/ | +4 | 0 replies | |
| 5/11 | media: dvb_vb2: fix a warning about streamoff logicdrivers/ | +20 | 1 reply | |
| 6/11 | media: move videobuf2 to drivers/media/commondrivers/ drivers/ drivers/ +10 more | +40 | 0 replies | |
| 7/11 | media: dvb uAPI docs: document demux mmap/munmap syscallsDocumentation/ Documentation/ Documentation/ | +172 | 0 replies | |
| 8/11 | media: dvb uAPI docs: document mmap-related ioctlsDocumentation/ Documentation/ Documentation/ +2 more | +320 | 0 replies | |
| 9/11 | media: dvb-core: get rid of mmap reserved fieldDocumentation/ Documentation/ Documentation/ +3 more | +0 | 0 replies | |
| 10/11 | fs: compat_ioctl: add new DVB demux ioctlsfs/ | +5 | 0 replies | |
| 11/11 | media: dvb_vb2: add SPDX headersdrivers/ drivers/ | +3 | 0 replies |
Reviews trailers per patch
1 of 11 patches has a Reviewed-by or Acked-by.
| Patch | Seung-Woo Kim | Inki Dae |
|---|---|---|
| 1/11 | ||
| 2/11 | A-b | A-b |
| 3/11 | ||
| 4/11 | ||
| 5/11 | ||
| 6/11 | ||
| 7/11 | ||
| 8/11 | ||
| 9/11 | ||
| 10/11 | ||
| 11/11 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH 00/11] dvb: add support for memory mapped I/O
This patch series is based on a work made by Samsung in 2015 meant to add memory-mapped I/O to the Linux media, in order to improve performance. The preparation patches were merged on that time, but we didn't have time to test and finish the final patch.
Fortunately, Satendra helped us doing such port. On my tests, even on USB drivers, where we need to do DMA at URB buffers, the performance gains seem considerable.
On the tests I did today, with perf stat, the gains were expressive:
- the number of task clocks reduced by 3,5 times;
- the number of context switches reduced by about 4,5 times;
- the number of CPU cycles reduced by almost 3,5 times;
- the number of executed instructions reduced almost 2 times;
- the number of cache references reduced by almost 8 times;
- the number of cache misses reduced more than 4,5 times.
The patches are at:
https://git.linuxtv.org/mchehab/experimental.git/log/?h=dvb_mmap
An userspace test patchset is at:
https://git.linuxtv.org/mchehab/experimental-v4l-utils.git/log/?h=dvb_mmap
More details about my tests can be found on my comments to the original Satendra's patch:
https://patchwork.linuxtv.org/patch/46101/
Mauro Carvalho Chehab (9):
media: vb2-core: add pr_fmt() macro
media: vb2-core: add a new warning about pending buffers
media: dvb_vb2: fix a warning about streamoff logic
media: move videobuf2 to drivers/media/common
media: dvb uAPI docs: document demux mmap/munmap syscalls
media: dvb uAPI docs: document mmap-related ioctls
media: dvb-core: get rid of mmap reserved field
fs: compat_ioctl: add new DVB demux ioctls
media: dvb_vb2: add SPDX headers
Satendra Singh Thakur (2):
media: vb2-core: Fix a bug about unnecessary calls to queue cancel and
free
media: videobuf2: Add new uAPI for DVB streaming I/O
Documentation/media/uapi/dvb/dmx-expbuf.rst | 88 +++++
Documentation/media/uapi/dvb/dmx-mmap.rst | 116 ++++++
Documentation/media/uapi/dvb/dmx-munmap.rst | 54 +++
Documentation/media/uapi/dvb/dmx-qbuf.rst | 83 ++++
Documentation/media/uapi/dvb/dmx-querybuf.rst | 63 +++
Documentation/media/uapi/dvb/dmx-reqbufs.rst | 74 ++++
Documentation/media/uapi/dvb/dmx_fcalls.rst | 6 +
drivers/media/common/Kconfig | 1 +
drivers/media/common/Makefile | 2 +-
drivers/media/common/videobuf/Kconfig | 31 ++
drivers/media/common/videobuf/Makefile | 7 +
.../videobuf}/videobuf2-core.c | 38 +-
.../videobuf}/videobuf2-dma-contig.c | 0
.../videobuf}/videobuf2-dma-sg.c | 0
.../{v4l2-core => common/videobuf}/videobuf2-dvb.c | 0
.../videobuf}/videobuf2-memops.c | 0
.../videobuf}/videobuf2-v4l2.c | 0
.../videobuf}/videobuf2-vmalloc.c | 0
drivers/media/dvb-core/Makefile | 2 +-
drivers/media/dvb-core/dmxdev.c | 196 ++++++++--
drivers/media/dvb-core/dmxdev.h | 4 +
drivers/media/dvb-core/dvb_vb2.c | 430 +++++++++++++++++++++
drivers/media/dvb-core/dvb_vb2.h | 74 ++++
drivers/media/v4l2-core/Kconfig | 32 --
drivers/media/v4l2-core/Makefile | 7 -
fs/compat_ioctl.c | 5 +
include/uapi/linux/dvb/dmx.h | 63 ++-
27 files changed, 1290 insertions(+), 86 deletions(-)
create mode 100644 Documentation/media/uapi/dvb/dmx-expbuf.rst
create mode 100644 Documentation/media/uapi/dvb/dmx-mmap.rst
create mode 100644 Documentation/media/uapi/dvb/dmx-munmap.rst
create mode 100644 Documentation/media/uapi/dvb/dmx-qbuf.rst
create mode 100644 Documentation/media/uapi/dvb/dmx-querybuf.rst
create mode 100644 Documentation/media/uapi/dvb/dmx-reqbufs.rst
create mode 100644 drivers/media/common/videobuf/Kconfig
create mode 100644 drivers/media/common/videobuf/Makefile
rename drivers/media/{v4l2-core => common/videobuf}/videobuf2-core.c (98%)
rename drivers/media/{v4l2-core => common/videobuf}/videobuf2-dma-contig.c (100%)
rename drivers/media/{v4l2-core => common/videobuf}/videobuf2-dma-sg.c (100%)
rename drivers/media/{v4l2-core => common/videobuf}/videobuf2-dvb.c (100%)
rename drivers/media/{v4l2-core => common/videobuf}/videobuf2-memops.c (100%)
rename drivers/media/{v4l2-core => common/videobuf}/videobuf2-v4l2.c (100%)
rename drivers/media/{v4l2-core => common/videobuf}/videobuf2-vmalloc.c (100%)
create mode 100644 drivers/media/dvb-core/dvb_vb2.c
create mode 100644 drivers/media/dvb-core/dvb_vb2.hSignature · 1 line
2.14.3