ZIO - The Ultimate I/O Framework
Federico Vaga (federico.vaga@gmail.com), Alessandro Rubini (rubini@gnudd.com) 2013-02-02
Federico Vaga (federico.vaga@gmail.com),Alessandro Rubini (rubini@gnudd.com)
ZIO - The Ultimate I/O Framework Federico Vaga - - PowerPoint PPT Presentation
ZIO - The Ultimate I/O Framework Federico Vaga (federico.vaga@gmail.com), Alessandro Rubini (rubini@gnudd.com) 2013-02-02 Federico Vaga (federico.vaga@gmail.com),Alessandro Rubini (rubini@gnudd.com) What is ZIO? ZIO is an I/O framework for
Federico Vaga (federico.vaga@gmail.com), Alessandro Rubini (rubini@gnudd.com) 2013-02-02
Federico Vaga (federico.vaga@gmail.com),Alessandro Rubini (rubini@gnudd.com)
Federico Vaga (federico.vaga@gmail.com),Alessandro Rubini (rubini@gnudd.com)
Federico Vaga (federico.vaga@gmail.com),Alessandro Rubini (rubini@gnudd.com)
Federico Vaga (federico.vaga@gmail.com),Alessandro Rubini (rubini@gnudd.com)
Federico Vaga (federico.vaga@gmail.com),Alessandro Rubini (rubini@gnudd.com)
bl C D bl C D
The block is overall blue
Federico Vaga (federico.vaga@gmail.com),Alessandro Rubini (rubini@gnudd.com)
V v A a sequence nsamples ssize nbits fam type host-identification device-id cset chan device name tstamp: secs tstamp: ticks tstamp: bins mem-addr reserved flags trigger name TLV record for optional extra information This area hosts attributes for the device and for the currently active trigger. Device and trigger are each characterized by 16 "standard" attrs and 32 "extended" attrs. A bit-mask states which attrs are active. Each attribute is a 32-bit word
0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x1F0
Federico Vaga (federico.vaga@gmail.com),Alessandro Rubini (rubini@gnudd.com)
L F S B T P
N
Federico Vaga (federico.vaga@gmail.com),Alessandro Rubini (rubini@gnudd.com)
Federico Vaga (federico.vaga@gmail.com),Alessandro Rubini (rubini@gnudd.com)
L F B T P
write store_block push_block raw_io data_done retr_block read retr_block pull_block raw_io data_done store_block
alloc_block free_block alloc_block free_block
Federico Vaga (federico.vaga@gmail.com),Alessandro Rubini (rubini@gnudd.com)
Federico Vaga (federico.vaga@gmail.com),Alessandro Rubini (rubini@gnudd.com)
streaming no driver changes
sniffing support for external application no interference with actual I/O
a single fd controls several channels remote devices, local drivers
Federico Vaga (federico.vaga@gmail.com),Alessandro Rubini (rubini@gnudd.com)
Federico Vaga (federico.vaga@gmail.com),Alessandro Rubini (rubini@gnudd.com)