Skip to content

RFC Introducing ZIO, a new I/O framework

Alessandro Rubini linux-iio lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest7 patches 17 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7Documentation: add docs for drivers/zioDocumentation/zio/00-INDEX Documentation/zio/buffer.txt Documentation/zio/device.txt +3 more+471 -05 replies
2/7include/linux: add headers for drivers/zioinclude/linux/zio-buffer.h include/linux/zio-sysfs.h include/linux/zio-trigger.h +1 more+711 -05 replies
3/7drivers/zio: core files for the ZIO input/outputdrivers/zio/Makefile drivers/zio/zio-cdev.c drivers/zio/zio-sys.c+1931 -04 replies
4/7drivers/zio: add triggers and buffersdrivers/zio/buffers/Makefile drivers/zio/buffers/zio-buf-kmalloc.c drivers/zio/triggers/Makefile +2 more+672 -00 replies
5/7drivers/zio: add the zio-zero device driverdrivers/zio/drivers/Makefile drivers/zio/drivers/zio-zero.c+88 -00 replies
6/7drivers/zio: add user-space tool zio-dumpdrivers/zio/zio-dump.c+196 -00 replies
7/7zio: insert in Kbuild so it is actually compileddrivers/Kconfig drivers/Makefile drivers/zio/Kconfig+15 -00 replies

Reviews trailers per patch

6 of 7 patches have a Reviewed-by or Acked-by.

PatchJuan David Gonzalez CobasSamuel Iglesias GonsalvezManohar Vanga
1/7A-b A-b A-b
2/7A-b A-b A-b
3/7A-b A-b A-b
4/7A-b A-b A-b
5/7A-b A-b A-b
6/7A-b A-b A-b
7/7

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v1 thread

Cover letter [RFC PATCH 0/7] Introducing ZIO, a new I/O framework

This RFC patch-set introduces the ZIO framework for input/output, which will be used in the new series of drivers by the BE-CO-HT group at CERN.

The use-case it is meant to cover is very fast I/O with hardware-provided timestamps. The first production driver we will support is a 100Ms/s 4-channel 14-bit ADC (developed on ohwr: see
http://www.ohwr.org/projects/fmc-adc-100m14b4cha ). We need similar bandwidth on output.

The synchronization engine of that FMC card and other ones is going to be White Rabbit (http://www.ohwr.org/projects/white-rabbit).

Currently, the patch-set includes one example driver (zio-zero) that behaves like /dev/zero and /dev/urandom. Other drivers will come soon, both demo and real hardware.

Slides for a tutorial on the design ideas are online here:
http://www.ohwr.org/attachments/881/zio-111123.pdf

A list of pending issues and development plans is online at:
http://www.ohwr.org/projects/zio/wiki/Todo

/alessandro

Alessandro Rubini (5):
Documentation: add docs for drivers/zio include/linux: add headers for drivers/zio drivers/zio: add triggers and buffers drivers/zio: add user-space tool zio-dump
zio: insert in Kbuild so it is actually compiled

Federico Vaga (2):
drivers/zio: core files for the ZIO input/output framework drivers/zio: add the zio-zero device driver

 Documentation/zio/00-INDEX            |   10 +
 Documentation/zio/buffer.txt          |  114 +++
 Documentation/zio/device.txt          |   69 ++
 Documentation/zio/modules.txt         |   45 +
 Documentation/zio/trigger.txt         |  128 +++
 drivers/Kconfig                       |    2 +
 drivers/Makefile                      |    1 +
 drivers/zio/Kconfig                   |   12 +
 drivers/zio/Makefile                  |   10 +
 drivers/zio/README                    |  105 +++
 drivers/zio/buffers/Makefile          |    1 +
 drivers/zio/buffers/zio-buf-kmalloc.c |  273 +++++++
 drivers/zio/drivers/Makefile          |    1 +
 drivers/zio/drivers/zio-zero.c        |   87 ++
 drivers/zio/triggers/Makefile         |    2 +
 drivers/zio/triggers/zio-trig-irq.c   |  203 +++++
 drivers/zio/triggers/zio-trig-timer.c |  193 +++++
 drivers/zio/zio-cdev.c                |  498 ++++++++++++
 drivers/zio/zio-dump.c                |  196 +++++
 drivers/zio/zio-sys.c                 | 1423 +++++++++++++++++++++++++++++++++
 include/linux/zio-buffer.h            |  246 ++++++
 include/linux/zio-sysfs.h             |  122 +++
 include/linux/zio-trigger.h           |   99 +++
 include/linux/zio.h                   |  244 ++++++
 24 files changed, 4084 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/zio/00-INDEX
 create mode 100644 Documentation/zio/buffer.txt
 create mode 100644 Documentation/zio/device.txt
 create mode 100644 Documentation/zio/modules.txt
 create mode 100644 Documentation/zio/trigger.txt
 create mode 100644 drivers/zio/Kconfig
 create mode 100644 drivers/zio/Makefile
 create mode 100644 drivers/zio/README
 create mode 100644 drivers/zio/buffers/Makefile
 create mode 100644 drivers/zio/buffers/zio-buf-kmalloc.c
 create mode 100644 drivers/zio/drivers/Makefile
 create mode 100644 drivers/zio/drivers/zio-zero.c
 create mode 100644 drivers/zio/triggers/Makefile
 create mode 100644 drivers/zio/triggers/zio-trig-irq.c
 create mode 100644 drivers/zio/triggers/zio-trig-timer.c
 create mode 100644 drivers/zio/zio-cdev.c
 create mode 100644 drivers/zio/zio-dump.c
 create mode 100644 drivers/zio/zio-sys.c
 create mode 100644 include/linux/zio-buffer.h
 create mode 100644 include/linux/zio-sysfs.h
 create mode 100644 include/linux/zio-trigger.h
 create mode 100644 include/linux/zio.h
Signature · 1 line
1.7.7.2