aboutsummaryrefslogtreecommitdiff
path: root/AUTHORS
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2013-09-19 19:48:39 +0530
committerGary S. Robertson <gary.robertson@linaro.org>2013-10-24 09:37:02 -0500
commit5946d4b5ea5a009c712036a6ebcd540f40dd2cc4 (patch)
treec3addf79843084704692ca86ad7ed765e911460b /AUTHORS
parent04cf4fc0d4a70bf75ac646f18c654cf019e96ef4 (diff)
datapath: Enable RT Kernel supportHEADmaster
I found these files where there can be some issues on RT kernel: - datapath/datapath.c - datapath/vport.c - datapath/linux/compat/workqueue.c Important calls here are (that doesn't fit well with RT are): - spin_lock_irq{save}() - spin_lock_bh() - local_bh_disable() 1- spin_lock_irq{save}() These are simply converted to spin_lock() in RT and so access to critical sections is guaranteed to be serialized.. And so nothing is required to be fixed for it.. 2- spin_lock_bh() It guarantees code to be serialized and hence shouldn't be a problem.. 2- local_bh_disable() This is how it is implemented: +void local_bh_disable(void) +{ + migrate_disable(); + current->softirq_nestcnt++; +} +EXPORT_SYMBOL(local_bh_disable); And here is the problem: Code currently using local_bh_disable() isn't guaranteed to be serialized and so that is required to be fixed. A simple solution would be to add a spin_lock_bh() for this case which will make it work (efficiently) for both RT and non-RT cases. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Diffstat (limited to 'AUTHORS')
0 files changed, 0 insertions, 0 deletions