Hi Bill, On Wed, Feb 21, 2007 at 09:50:40AM -0800, Bill Studenmund wrote:From what I understand, with the vax it's a implementation detail that can be overcome, albeit a troublesome one. I'm sure there is a way to signal an external agent to handle the interrupt proper. My understanding is that we can continue to control the interrupt priority level while that is happening. Well, we must be able to on some level, otherwise the spl interfaces wouldn't do anything. Ok, well we discussed this briefly offline, and my understanding is that the problem is some m68k systems don't have a pic that we can use to control interrupt sources. That's not a problem; as long as there is some limited control over the interrupt priority level on the CPU itself, then we have a way to mask interrupts temporarily. Partly as an implementation convenience, and to avoid inversion, the priority level must remain high. (I described this briefly back in December, on tech-kern@). It is not something that should present a problem. In order to complete servicing the interrupt when the handler blocks, we need to will the ISR's scheduling priority to the LWP that is blocking it, and get control of the CPU to that LWP in short order. Care needs to be taken to ensure that does happen quickly, but it is not a huge task. The same way. While each architecture has its own peculiarities, they should follow essentially the same pattern. Vax seems pretty unusual in this respect. For PDMA or networking I like that, where you have interrupts occuring at a very high rate or where there are chokepoints as you funnel work down. As a general solution I don't like it, and I can't think of any other modern Unix that works exclusively that way. As I mentioned, it introduces an additional burden both on the CPU and on developers. Andrew
| Karl Meyer | PROBLEM: 2.6.23-rc "NETDEV WATCHDOG: eth0: transmit timed out" |
| David Miller | Slow DOWN, please!!! |
| Mark Fasheh | [PATCH 0/39] Ocfs2 updates for 2.6.28 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
git: | |
| Shawn O. Pearce | Re: pack operation is thrashing my server |
| Pierre Habouzit | git send-email improvements |
| Matthieu Moy | git push to a non-bare repository |
| Shawn O. Pearce | libgit2 - a true git library |
| Elad Efrat | Integrating securelevel and kauth(9) |
| Hubert Feyrer | Re: Compressed vnd handling tested successfully |
| Lord Isildur | Re: Fork bomb protection patch |
| Matt Thomas | Re: FFS journal |
| Will Maier | cron doesn't run commands in /etc/crontab? |
| Richard Stallman | Real men don't attack straw men |
| Harald Dunkel | Re: Packet Filter: how to keep device names on hardware failure? |
| Jordi Espasa Clofent | Resolving dependencies with pkg_add |
| Question on swap as ramdisk partition | 1 hour ago | Linux kernel |
| Netfilter kernel module | 12 hours ago | Linux kernel |
| serial driver xmit problem | 15 hours ago | Linux kernel |
| Why Windows is better than Linux | 15 hours ago | Linux general |
| How can I see my kernel messages in vt12? | 22 hours ago | Linux kernel |
| Grub | 1 day ago | Linux general |
| vmalloc_fault handling in x86_64 | 1 day ago | Linux kernel |
| epoll_wait()ing on epoll FD | 1 day ago | Linux kernel |
| Framebuffer in x86_64 causes problems to multiseat | 1 day ago | Linux kernel |
| Difference between 2.4 and 2.6 regarding thread creation | 2 days ago | Linux general |
