The following patches are against 2.6.21.rc6-mm1. Hopefully that is enough to catch most of the recent development activity. I am aiming to remove all kernel threads that handle signals from user space, to remove all calls to daemonize and kernel_thread from non-core kernel code. kernel thrreads handling signals from user space is a problem because it makes the kernel thread part of the user/kernel API which make changing things difficult and it breaks as soon as you are inside of a pid namespace because you won't be able to see your kernel thread. Calling kernel_thread has problems because it returns a pid_t value which once we get to the pid namespace is context depending so it cannot be used to globally identify a process. kernel_thread is also a problem because it traps user space state and requires us to call daemonize to free that state. daemonize is a maintenance problem because every time you play with user space state and limiting things you need to remember to update daemonize. Occasionally it has taken years like in the case of the mount namespace before someone realizes they need to update it. With the kthread api we no longer need daemonize. In addition we don't want kernel threads visible in anything but the initial pid namespace or they will hold a reference to a child pid namespace. However calling kernel_thread from a non-kernel parent in a child pid namespace will give the thread a pid in the child pid namespace, and there is nothing daemonize can do about it. So daemonize appears impossible to support going forward, and I choose to remove all of it's callers rather than attempt to support it. Eric - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: Remaining straight forward kthread API conversions...
- From: Christoph Hellwig <[email protected]>
- Re: [PATCH] net/rxrpc: Convert to kthread API.
- From: David Howells <[email protected]>
- Re: [PATCH] fs/afs: Convert to kthread API.
- From: David Howells <[email protected]>
- [PATCH] ipv4/ipvs: Convert to kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] nfs4state reclaimer: Remove unnecessary allow_signal
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] md: Remove broken SIGKILL support
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] cpci_hotplug: Convert to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] nfs lockd reclaimer: Convert to kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] nfsv4 delegation: Convert to kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] synchro_test: Convert to the kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] smbfs: Remove unnecessary allow_signal
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] powerpc pseries rtasd: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] arm ecard: Conver to use the kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] macintosh/therm_windtunnel.c: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] bluetooth bnep: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] macintosh/mediabay: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] fs/afs: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] bluetooth cmtp: Convert to use kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] net/rxrpc: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] ia64 sn xpc: Convert to use kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] macintosh/therm_pm72.c: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] macintosh/adb: Convert to the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] sas_scsi_host: Convert to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] powerpc pseries eeh: Convert to kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] s390/net/lcs: Convert to the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] dvb_en_50221: Convert to kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] synchro_test: Convert to the kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] saa7134-tvaudio: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] mtd_blkdevs: Convert to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] s390/scsi/zfcp_erp: Convert to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] cpqphp: Convert to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] sparc64/power.c: Convert to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] bluetooth rfcomm: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] s390 qeth: Convert to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] bluetooth hidp: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] nfsd/nfs4state: Remove unnecessary daemonize call.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] i386 balance_irq: Convert to the kthread api.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] pnpbios: Conert to use the kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] ibmphp: Convert to use the kthreads API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] i386 voyager: Convert the monitor thread to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] smbfs: Remove unnecessary allow_signal
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] synchro_test: Convert to the kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] nfs4state reclaimer: Remove unnecessary allow_signal
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] powerpc pseries rtasd: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] bluetooth cmtp: Convert to use kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] macintosh/therm_windtunnel.c: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] macintosh/adb: Convert to the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] dvb_en_50221: Convert to kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] macintosh/therm_pm72.c: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] md: Remove broken SIGKILL support
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] macintosh/mediabay: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] bluetooth bnep: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] net/rxrpc: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] s390 qeth: Convert to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] s390/scsi/zfcp_erp: Convert to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] powerpc pseries eeh: Convert to kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] arm ecard: Conver to use the kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] ia64 sn xpc: Convert to use kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] fs/afs: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] ipv4/ipvs: Convert to kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] cpqphp: Convert to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] sas_scsi_host: Convert to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] sparc64/power.c: Convert to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] pnpbios: Conert to use the kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] s390/net/lcs: Convert to the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] bluetooth rfcomm: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] nfs lockd reclaimer: Convert to kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] nfsd/nfs4state: Remove unnecessary daemonize call.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] nfsv4 delegation: Convert to kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] saa7134-tvaudio: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] bluetooth hidp: Convert to kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] synchro_test: Convert to the kthread API.
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] i386 voyager: Convert the monitor thread to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] ibmphp: Convert to use the kthreads API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] cpci_hotplug: Convert to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] mtd_blkdevs: Convert to use the kthread API
- From: "Eric W. Biederman" <[email protected]>
- [PATCH] i386 balance_irq: Convert to the kthread api.
- From: "Eric W. Biederman" <[email protected]>
- Re: Remaining straight forward kthread API conversions...
- Prev by Date: Re: [PATCH v3] Bitbanging i2c bus driver using the GPIO API
- Next by Date: Re: [PATCH -mm] workqueue: debug possible lockups in flush_workqueue
- Previous by thread: [PATCH -mm] workqueue: debug possible endless loop in cancel_rearming_delayed_work
- Next by thread: [PATCH] i386 balance_irq: Convert to the kthread api.
- Index(es):