summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorDaniel Borkmann <dborkman@redhat.com>2013-03-22 12:29:19 +0100
committerDaniel Borkmann <dborkman@redhat.com>2013-03-22 12:29:19 +0100
commit08c2dc1fcb403519a86a1129ad27c3188294e18f (patch)
tree39885c89ebf328b8e40162f93b1b5263cc12101f /Documentation
parent540ae1ee3b2456355fc9c36410667e1b5019e314 (diff)
trafgen: fix bug in packet scheduling
When having a config like cpu(1): {...}, and one runs it with -n1, trafgen behaves buggy, I also noted that in other situations. Fix this by letting the loop also return on CPU state RES, and do not perform this stupid magic in the main routine. So far it seems to work now after some basic tests I did. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions
d it as suggested by Marek Szyprowski. First, I have replaced `pch->lock' with `pl330->lock' in functions `pl330_alloc_chan_resources' and `pl330_free_chan_resources'. This avoids the double-lock by acquiring a different lock than `dma_pl330_rqcb'. NOTE that, as a result, `pl330_free_chan_resources' executes `list_splice_tail_init' on `pch->work_list' under lock `pl330->lock', whereas in the rest of the code `pch->work_list' is protected by `pch->lock'. I don't know if this may cause race conditions. Similarly `pch->cyclic' is written by `pl330_alloc_chan_resources' under `pl330->lock' but read by `pl330_tx_submit' under `pch->lock'. Second, I have removed locking from `pl330_request_channel' and `pl330_release_channel' functions. Function `pl330_request_channel' is only called from `pl330_alloc_chan_resources', so the lock is already held. Function `pl330_release_channel' is called from `pl330_free_chan_resources', which already holds the lock, and from `pl330_del'. Function `pl330_del' is called in an error path of `pl330_probe' and at the end of `pl330_remove', but I assume that there cannot be concurrent accesses to the protected data at those points. Signed-off-by: Iago Abal <mail@iagoabal.eu> Reviewed-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'include/acpi/hed.h')