Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Alessandro Rubini <rubini <at> gnudd.com>
Subject: [RFC PATCH 0/7] Introducing ZIO, a new I/O framework
Newsgroups: gmane.linux.kernel
Date: Saturday 26th November 2011 17:30:08 UTC (over 4 years ago)
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

-- 
1.7.7.2
 
CD: 3ms