Re: Deterministic behavior for TTY serial
From: Alan Cox <hidden>
Date: 2012-05-01 15:02:12
Also in:
linux-serial
From: Alan Cox <hidden>
Date: 2012-05-01 15:02:12
Also in:
linux-serial
This Spin Lock is defined globally, This causes that my high priority process to get blocked because of a lower priority process that holds this spin lock. Of course you get priority inheritance, but this adds quite a lot of extra execution time to the read function (because of additional spin lock behavior, and scheduling to the lower priority process)
It's a spin lock and its only held across very small numbers of instructions in any normal path so this rather surprises me - in your actual capture data can you see what is holding the lock for long times causing this ?
Since the "user" and "refcount" reference counters have combined behavior (refcount is decremented when users reaches zero), I don't see a way to remove this global lock. Any ideas how this can be improved?
I've never really thought about it because it should never be contended in any meaningful way. Alan