Skip to contentSkip to conversation

riscom8: replace cli()/sti()

KJ Jim Nelson 1 participant 1 message Dec 20, 2004 Kernel janitors

lore
Share & tools
lore

Jim Nelson

author
#0 lore raw
Quoted 15 lines · Domen Puncer
Quoted 2 lines · On 15/12/04 23:45 -0600, [email protected] wrote:

This is an attempt to get the riscom8 driver working on SMP. I think I did it properly (per what Documentation/cli-sti-removal.txt details).

rc_interrupt also needs to protect data with locks (on UP it was ok, because interrupts were disabled).

Around line 1130 there are two msleep_interruptible calls under lock (this was wrong before too).

Some functions don't need to save flags, because you know they are never called from interrupt (all from riscom_ops?).

Quoted 7 lines

IMHO it would be nice to notice somewhere what is protected by lock (rc_board and rc_port structures); and it would probably be better to have a lock per board in riscom_board struct.

Domen

I had thought the same re putting the spinlock in the per-board structure (after submitting all of these - of course) - and got a lot of other pointers on how to make things SMP-correct. Go ahead and disregard this set of patches - I'll have to take a more careful look at each one of them.

I thought I had seen some sleep-while-locked problems, but thought I was just reading it wrong.

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors