On Thu, Jul 24, 2008 at 11:07:36AM +0100, Mindaugas Rasiukevicius wrote:ly, .. That would be the exact same LWP usage as a 1:1 threading model would=20 give. The SA process spends the time creating the LWPs between blocking=20 events while the 1:1 process created all of the same LWPs at initial=20 thread creation time. Yes, the SA process also has an extra LWP sitting around per VP, but that= =20 is a constant so it really only should count against process startup. One other thing to consider is how long different context switches take.=20 The two important ones are intra-process-same-space switches (inter-LWP in= =20 the kernel and inter-thread in SA userland) and user-kernel switches. When= =20 I was starting the Wasabi iSCSI target, I asked around before we used (SA)= =20 pthreads to implement this. I asked a number of NetBSD threading folks=20 about this. The answer I was given was that user-kernel switches are NOTABLY more=20 expensive. Like 10x. Their numbers, not mine. So while SA is adding extra= =20 steps, they are steps that aren't the most expensive thing around. What I don't understand, though, is why we're discussing this issue like=20 this. I don't see what the NetBSD kernel loses by having both 1:1 AND SA=20 threading support. While the SA code is a fresh port, it is a fresh port=20 of the NetBSD 4 code. So it actually is something we're familiar with as a= =20 project. People on this list have shown that SA does better on some work=20 loads, and other people have shown (quite spectacularly) that 1:1 performs= =20 stunningly. Yes, we had a nasty discussion when 1:1 was brought into current. But=20 looking back, I think most of the nastiness was due to the fact that it=20 was presented as an either-or proposition. We now have an entirely=20 differnt case. Re-adding SA does NOT mean losing 1:1. Take care, Bill
| 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 |
