On Sat, 2012-11-10 at 21:23 +0100, Krzysztof Mazur wrote: > With this tasklet_schedule() we implement a "spin_lock" here, but in > this case both conditions (vcc not ready and socket locked) can be > true for a long time and we can spin here for a long time. I confirmed > it by reverting patch 1 (atm: detach protocol before closing vcc) and > now I have 50% of CPU used by ksoftirqd and 50% by pppd (UP system). Ah, thanks. Can we take the lock in the tasklet, so we wait for it instead of spinning? -- dwmw2