- 17 Sep, 2014 10 commits
-
-
Federico Vaga authored
Mapping zio_block to a scatterlist is a common operations. This patch simply adds a set of helpers to manage the scatter DMA mapping. Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
-
Federico Vaga authored
It will be necessary on "write control" patch Now the __zattr_propagate_value() function can be used internally by ZIO components Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
It will be necessary on "write control" patch Split the zattr_store() function in two parts. The configuration function __zio_conf_set(), and the sysfs write access zattr_store. The config function is exported in order to be used by others within the framework Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
It will be necessary on "write control" patch In order to export the function to other ZIO core parts, this patch rename __get_spinlock() with a proper name and export the prototype within the framework Signed-off-by: Federico Vaga <federico.vaga@cern.ch> cked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
It will be necessary on "write control" patch In order to export the function to other ZIO core parts, this patch rename the zobj_enable function with a proper name, and change the prototype to use the zio object head instead of the kernel device. Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
make available enumeration of standard attributes also for userspace applications Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
It will be necessary on "write control" patch This allows to easily retrieve the ZIO object that owns a given zio_attribute Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
it reduces the number of printed data. The option accepts a numeric value. This value is the number of bytes to show at the beginning and at the end of a buffer Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
The parameter attributes (outside the control) do not have an index. Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
- 14 Jul, 2014 8 commits
-
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Thanks to this patch all user-space applications depends only on the zio-user.h header Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Add "-s", so the dumper knows the file argument is a sequence of control structures, with no data intermixed. Signed-off-by: Alessandro Rubini <rubini@gnudd.com> Acked-by: Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
/dev/zio-sniff.ctrl is a misc device, selected by CONFIG_ZIO_SNIFF_DEV which currently is on by default. Every time a block is released, a copy of the control is delivered to every reader of the device. This is meant to be useful for monitoring, and to retrieve the perfomance figures that will be added by later commits. We need a sniff device to monitor output channels, because even the application driving I/O cannot recover the control structures that leave the ZIO pipeline. Signed-off-by: Alessandro Rubini <rubini@gnudd.com> Acked-by: Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
ZIO_ALARM_LOST_SNIFF is going to be used by the sniff device, to mark that this sniffing stream has lost at least one control Signed-off-by: Alessandro Rubini <rubini@gnudd.com> Acked-by: Federico Vaga <federico.vaga@gmail.com>
-
Federico Vaga authored
This patch moves the active_block clean up code into the generic zio_arm_trigger() function. Every time an arm fails, we clear all active_block. Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
The trigger-user fires _only_ on ti->push(), and buffers try to push blocks _only_ if there are no enqueued blocks. When using the trigger-user on the output flow and the correspondent cset->raw_io() operation fails, then the pushing does not succed and buffers start to enqueue the incoming blocks instead of pushing them to the trigger. This patch frees all active_blocks if cset->raw_io() fails (like we did for the input flow), and it raise the trigger lost alarm. The patch also raise the trigger lost alarm on the input flow and clears the active_block Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
- 11 Jun, 2014 5 commits
-
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com> Acked-by: Federico Vaga <federico.vaga@gmail.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
src point to the source code. Obj point to the object. Sometimes they live toghether but users can decide to build the object outside the source tree. Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Because their are not part of the module building but simple user space application. To avoid confusion, do not use kbuild environment style Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
TAGS files are typically generated by etags and ctags. Their aim is to indexing files content Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
- 25 Apr, 2014 3 commits
-
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
This patch doesn't provide any technical change. The patch just simplify the next patch. Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
- 24 Apr, 2014 3 commits
-
-
Alessandro Rubini authored
Previously, the enable/disable sysfs store had to complete atomically, as zio takes a spinlock to serialize the various concurrent enable and disable that may happen. Unfortunately, this is a problem when the hardware is keeping data structures busy, and commit b77ca7f0 is not enough to solve the problem: That commit uses udelay(10) in a loop, but in one installation of ours the hardware operation runs in a work queue, whereas the driving application has real-time priority. So we really need to schedule (or change the priorities, which is denied to us). But we cannot schedule while holding a spinlock. This patch, thus, make the following changes: * zio_trigger_abort_disable() is renamed to __zio_trigger_abort_disable() and does not sleep, but it returns -EAGAIN if HW_BUSY. * a new zio_trigger_abort_disable() is offered, that retries while scheduling. This covers all sysfs users, but one, so this keeps the patch smaller than I initially wrote it. * __zobj_enable() return int, not void: 0 or -EAGAIN (without sleeping, as it calls the new __zio_trigger_abort_disable()). It's an internal function in ./sysfs.c, so this is not a problem. * zobj_store_enable() accepts -AGAIN, and loops over if so. This is more difficult than expected (I loved b77ca7f0), but I see no easier solution to the weird RT priorities our users deploy. Signed-off-by: Alessandro Rubini <rubini@gnudd.com> Acked-by: Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
This flag has one user no more, but I already found the name confusing while working on that only user -- a driver. So this renames the flag, to make clear to readers (and myself) that only hardware can set and clear the flag, obviously under cset lock. Signed-off-by: Alessandro Rubini <rubini@gnudd.com> Acked-by: Federico Vaga <federico.vaga@gmail.com>
-
Federico Vaga authored
The Linux kernel patch b4e46138f946442608647be58e78e3ad4d15534e removes bus_type.bus_attrs Signed-off-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
- 02 Apr, 2014 1 commit
-
-
Federico Vaga authored
CONFIG_HOTPLUG is going away as an option so __devinit, __devexit and __devexit_p are no longer needed. Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
- 07 Mar, 2014 4 commits
-
-
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>
-
- 04 Mar, 2014 1 commit
-
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
- 26 Feb, 2014 3 commits
-
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com> Acked-by: Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
The hardware may be in uninterruptible operations, like writing in DMA to the buffers. So we can't release stuff until the hardware is done. We are in atomic context for sure, and the hardare is mandated to be fast, so busy-wait for it. The CSET_BUSY flag is set and cleared by the hardware driver, with the cset lock taken. Signed-off-by: Alessandro Rubini <rubini@gnudd.com> Acked-by: Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
There are some hardware operations that cannot be stopped, like ongoing DMA, and we must prevent abort from freeing stuff while in use. This commit only adds the flag. Signed-off-by: Alessandro Rubini <rubini@gnudd.com> Acked-by: Federico Vaga <federico.vaga@gmail.com>
-
- 24 Feb, 2014 2 commits
-
-
Federico Vaga authored
These prints are still present in drivers, triggers and buffer 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>
-