Messages in this thread | | | Date | Fri, 28 Jul 2006 01:34:42 -0700 | From | Andrew Morton <> | Subject | Re: 2.6.18-rc2-mm1 |
| |
On Fri, 28 Jul 2006 10:17:44 +0200 "Michal Piotrowski" <michal.k.k.piotrowski@gmail.com> wrote:
> Matt, can you look at this? > > My hunt file shows me, that this patches are causing oops. > GOOD > # > # > task-watchers-task-watchers.patch > task-watchers-register-process-events-task-watcher.patch > task-watchers-refactor-process-events.patch > task-watchers-make-process-events-configurable-as.patch > task-watchers-allow-task-watchers-to-block.patch > task-watchers-register-audit-task-watcher.patch > task-watchers-register-per-task-delay-accounting.patch > task-watchers-register-profile-as-a-task-watcher.patch > task-watchers-add-support-for-per-task-watchers.patch > task-watchers-register-semundo-task-watcher.patch > task-watchers-register-per-task-semundo-watcher.patch > BAD
Thanks for working that out.
I've actually been thinking that we shouldn't proceed with those patches.
They're a nice cleanup and make the kernel code _look_ better and I really like them because of this. But the cost is potentially significant. We replace N direct calls with a walk of a notifier chain, more than N indirect calls, demultiplexing at the other end and then a direct call. That's a significant amount of additional overhead to make the kernel source look nicer.
Plus, ugly though it is, you can look at the current code and see what it's doing. With a notifier chain you have to grep around the tree and work out what might be hooking into the chain, which is harder.
Finally, the consolidation into a notifier chain forces all the fork/exit/exec hooks into an one-size-fits-all model. What happens if one subsystem wants to hook in before exit_mmap() and another one wants to hook in after exit_mmap() (for example)?
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |