From: Russell K. <rm...@ar...> - 2002-08-22 21:21:22
|
On Thu, Aug 22, 2002 at 01:26:23PM -0700, Jean Tourrilhes wrote: > We should calmly look at various options. Maybe we need > another TTY call ? Maybe IrDA drivers need to grab the BKL ? Maybe the > BKL to protect termios is overdoing it ? Until the tty layer is rewritten and fixed, I'm not going to put my feet in the water and start changing things. Ted's ideas for the tty layer are very radical, and could well end up breaking IrDA even more than it currently is. Unfortunately, Ted is involved in other stuff, and seems to be the only person who has the knowledge (or willingness) to pick up the tty layer to fix its problems. > First, I want to say that it's a total red-herring and has > nothing to do with the problem. Don't start to bring in stuff which is > totally unrelated, because changing the API would change nothing. Obviously this is a sore point. > The problem is : we need to change speed triggered by an > incomming frame, which means from kernel context. Now, consider this > precise problem, not the rest. I'm considering the whole problem, not one small fraction of it. > o The network infrastructure has many advantage and the user > space depends on it. By the way, that's the reason BlueZ has adopted > the exact same approach, even though HCI is fully streamed. It may be > more painfull for standard serial ports, but is definitely better for > FIR drivers. I strongly disagree here. Being an author of a FIR driver, I have first hand experience of the complete and utter mess that the use of the net layer causes here. To spell it out: 1. we're stuffing random control information onto the start of the packet data. 2. ioctl. I draw your attention specifically to the following: SIOCSBANDWIDTH SIOCSMEDIABUSY SIOCGRECEIVING which appear in the driver private ioctl space. When called by the net layer, they have the rtnl locks held. When called from IrDA, they do not, and in fact may be called from interrupt context. That is not my definition of a sane API. > o I don't comment on the quality of your code, I just accept > the contraints you are working with. If you want to rewrite the IrDA > stack, be my guest, it's not my code after all. For me, I'm just > grateful that it works, and my bug-list is large enough. Personal insults aren't going to get you anywhere. I have a habbit of reacting _very_ badly to such things, so if you don't want to get burnt, please refrain from such practices. As such, I suggest we forget all this for at least a week until we've had time to think long and hard about it. Thanks. -- Russell King (rm...@ar...) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html |