- Jan 18, 2013
-
-
This patch introduces ZIO_RW_PERM and ZIO_RO_PERM, which are used in all attributes. Prevoously we had write-all for writeable attributes, now we only allos the owner and the group. Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Jan 08, 2013
-
-
Alessandro Rubini authored
The merge-data attribute tells the buffer to try a merge of a newly-stored block with the previous one. When this is possible, the buffer updates the previous block (nsamples, datalen) and releases the new control immediately. This allows saving some memory without breaking the ZIO data model. The feature only makes sense for input, but there is no policy in place to enforce that. When user space reads this new block, it will get attributes (and timestamp) for the first data items, but all available items are returned in this bigger block. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Nov 09, 2012
-
-
Alessandro Rubini authored
This is an incompatible change for buffer authors. We don't think there are any out-of-tree buffers, though. The allocation function must allocate the control by itself, instead of receiving it from outside. The reason why the control was passed doesn't hold any more, and the upcoming PF_ZIO buffer will greatly benefit from this. Also, now alloc_block returns NULL on error, so it can be used directly by the caller (it used to be ERR_PTR). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Nov 08, 2012
-
-
Alessandro Rubini authored
Just like drivers should update current_ctrl and not block->ctrl, the same happens to buffers. This only applies to vmalloc, though. Bug introduced by my commit 6a7378a5 : zio-sys: delay copying current_ctrl to block->ctrl Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Nov 05, 2012
-
-
Federico Vaga authored
This patch removes the union field priv in the zio_attribute and it introduces the id field. From our experience, the priv.ptr pointer is useless; the priv.addr field can be used for every purpose, also if you have your own private structure. The new field id replaces the role of priv.addr. It can represent a register address, a register offset, an index of a vector of private structure which describe how to gain access to a register, or whatever can describe uniquely a register (or register field) Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Oct 29, 2012
-
-
Alessandro Rubini authored
If the user changes the buffer size, this might make more space for a sleeping writer. Similarly, the buffer may be fuller than the new value after a change, so we check for ">= limit" and not "== limit". This doesn't apply to the vmalloc buffer, that currently doesn't allow a size change. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
buffer->store_block calls trigger->push_block when it receives the first block. The trigger user fires directly , and if the device accepts the data immediately, our data_done() will retr_block from the buffer. This happens with zio-zero, cset 1, and leads to a deadlock. To allow immediate success of push_block down to device level, release the lock before calling push_block. The code here also handles pathologic situations like two processes storing at the same time. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Apr 09, 2012
-
-
Alessandro Rubini authored
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Apr 06, 2012
-
-
Federico Vaga authored
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Mar 15, 2012
-
-
Federico Vaga authored
Now all the zio objects are handled with the device structure Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Feb 03, 2012
-
-
Alessandro Rubini authored
This buffer uses vmalloc and allows mmap from user space. It started as a copy of buf-kmalloc, so you can diff to change what is needed to support mmap over a read/write buffer type. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Feb 02, 2012
-
-
Alessandro Rubini authored
The vmalloc buffer uses the same names for structure (to ease "diff" users in understanding it) so the slab name can't be the structure name. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
We will have buffers that use the default operations (the majority) and buffers without file operations for in-kernel activities, like the input subsystem. In the latter case we want the cdev to refuse being openend, so NULL is reserved for that case. Also, add v_op to the buffer, so it can support mmap. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Jan 31, 2012
-
-
Alessandro Rubini authored
The argument is a relic of original design and was used incorrectly. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
This saves another 0.1 usec for each block lifetime. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Some of them don't apply any more (we made our choices, or the problem has been addressed and fixed elsewhere). Some do but I reworded them. Some still apply unchanged, and are not touched by this patch. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Jan 30, 2012
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Jan 24, 2012
-
-
A zio object can be enabled or disabled Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Dec 11, 2011
-
-
Federico Vaga authored
This is a general change that affects triggers and buffers as well. It introduces incompatibilities but the old name was actually a bug. Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Dec 06, 2011
-
-
Alessandro Rubini authored
The buffer was calling trig->pull_block even for output transfers. Bug exposed by zio-trig-user.c, yet to be committed. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Nov 22, 2011
-
-
Signed-off-by:
Manohar Vanga <manohar.vanga@cern.ch>
-
The standard buffer attribute 'max-buffer-len' is now supported by zio-buf-kmalloc Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This was missing, but is part of the suggested procedure Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Nov 15, 2011
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
A trigger instance has flags too, and the create functions set the flag in bot bi and ti. And channels inherit from cset. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Nov 04, 2011
-
-
From this commit onwards the whole thing compiles and works (from 2.6.34 onwards). We chose to save you from the past history of internal zio development. Signed-off by: Federico Vaga <federico.vaga@gmail.com> Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is the default buffer: it manages a list of data blocks (the lenght is fixed at 16 blocks by now) for any device and any trigger. The actual file operations in this case are generic, and live in zio-buf.c (zio-core.ko). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Signed-off by: Federico Vaga <federico.vaga@gmail.com>
-