Rafael J. Wysocki
8314418629
Freezer: make kernel threads nonfreezable by default
...
Currently, the freezer treats all tasks as freezable, except for the kernel
threads that explicitly set the PF_NOFREEZE flag for themselves. This
approach is problematic, since it requires every kernel thread to either
set PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn't
care for the freezing of tasks at all.
It seems better to only require the kernel threads that want to or need to
be frozen to use some freezer-related code and to remove any
freezer-related code from the other (nonfreezable) kernel threads, which is
done in this patch.
The patch causes all kernel threads to be nonfreezable by default (ie. to
have PF_NOFREEZE set by default) and introduces the set_freezable()
function that should be called by the freezable kernel threads in order to
unset PF_NOFREEZE. It also makes all of the currently freezable kernel
threads call set_freezable(), so it shouldn't cause any (intentional)
change of behaviour to appear. Additionally, it updates documentation to
describe the freezing of tasks more accurately.
[akpm@linux-foundation.org: build fixes]
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Nigel Cunningham <nigel@nigel.suspend2.net>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Gautham R Shenoy <ego@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-17 10:23:02 -07:00
..
aacraid
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2007-07-15 16:51:54 -07:00
aic7xxx
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2007-07-15 16:51:54 -07:00
aic7xxx_old
aic94xx
PCI: Change all drivers to use pci_device->revision
2007-07-11 16:02:10 -07:00
arcmsr
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2007-07-15 16:51:54 -07:00
arm
[ARM] ecard: add ecardm_iomap() / ecardm_iounmap()
2007-05-11 17:19:02 +01:00
dpt
[SCSI] dpt: whitespace cleanup
2007-04-01 10:10:04 -05:00
ibmvscsi
[SCSI] ibmvscsi: convert to use the data buffer accessors
2007-07-15 10:05:33 -05:00
libsas
Freezer: make kernel threads nonfreezable by default
2007-07-17 10:23:02 -07:00
lpfc
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2007-07-15 16:51:54 -07:00
megaraid
[SCSI] megaraid_mbox: use mutex instead of semaphore
2007-07-14 19:10:19 -05:00
pcmcia
[SCSI] sym53c500_cs: convert to use the data buffer accessors
2007-05-26 19:09:22 -05:00
qla2xxx
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2007-07-15 16:51:54 -07:00
qla4xxx
[SCSI] qla4xxx: Fix underrun/overrun conditions
2007-07-14 19:11:38 -05:00
sym53c8xx_2
[SCSI] sym53c8xx: convert to use the data buffer accessors
2007-07-15 10:00:32 -05:00
.gitignore
3w-9xxx.c
[SCSI] 3w-9xxx: eliminate missed map_single path
2007-05-31 08:23:02 -05:00
3w-9xxx.h
[SCSI] 3ware 9000 add support for 9650SE
2006-11-09 14:27:57 +09:00
3w-xxxx.c
[SCSI] 3w-xxxx: convert to use the data buffer accessors
2007-05-30 23:29:32 -05:00
3w-xxxx.h
[SCSI] 3ware 8000 serialize reset code
2007-01-06 09:18:00 -06:00
53c700.c
[SCSI] 53c700: Remove printk, which triggers because of low scsi clock on SNI RMs
2007-07-14 19:12:43 -05:00
53c700.h
[SCSI] 53c700: m68k support for the 53c700 SCSI core
2007-06-17 16:15:56 -05:00
53c700.scr
53c700_d.h_shipped
a100u2w.c
[SCSI] a100u2w: Convert into Linux style
2007-06-17 16:09:29 -05:00
a100u2w.h
[SCSI] a100u2w: Convert into Linux style
2007-06-17 16:09:29 -05:00
a2091.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
a2091.h
[SCSI] wd33c93: Scsi_Cmnd convertion
2006-09-12 17:12:31 -05:00
a3000.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
a3000.h
[SCSI] wd33c93: Scsi_Cmnd convertion
2006-09-12 17:12:31 -05:00
a4000t.c
[SCSI] 53c700: Fixup m68k drivers:
2007-06-19 19:53:35 -07:00
advansys.c
[SCSI] advansys: cleanups
2007-05-27 15:05:10 -05:00
aha152x.c
[SCSI] aha152x: use wait_for_completion_timeout
2007-05-22 10:50:19 -05:00
aha152x.h
aha1542.c
PCI: Cleanup the includes of <linux/pci.h>
2007-05-02 19:02:35 -07:00
aha1542.h
aha1740.c
[SCSI] aha1740: convert to use the data buffer accessors
2007-05-26 19:12:56 -05:00
aha1740.h
aic7xxx_old.c
[SCSI] aic7xxx_old: remove redundant GFP_ATOMIC from kmalloc
2007-07-15 09:34:45 -05:00
atari_dma_emul.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
atari_NCR5380.c
[SCSI] atari_NCR5380: update_timeout removal
2007-06-04 09:55:15 -05:00
atari_scsi.c
m68k: Atari SCSI driver compile fixes
2007-05-04 17:59:05 -07:00
atari_scsi.h
m68k: Atari SCSI driver compile fixes
2007-05-04 17:59:05 -07:00
atp870u.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
atp870u.h
blz1230.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
blz2060.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
BusLogic.c
[SCSI] BusLogic: convert to use the data buffer accessors
2007-05-26 19:21:37 -05:00
BusLogic.h
[SCSI] BusLogic: Replace 'boolean' by 'bool'
2007-02-07 18:32:29 -05:00
bvme6000_scsi.c
[SCSI] 53c700: Fixup m68k drivers:
2007-06-19 19:53:35 -07:00
ch.c
[SCSI] ch: kmalloc/memset->kzalloc
2007-05-06 09:33:11 -05:00
constants.c
[SCSI] constants.c: Update ASC list and make it const
2007-03-11 11:21:25 -05:00
cyberstorm.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
cyberstormII.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
dc395x.c
[SCSI] dc395x: convert to use the data buffer accessors
2007-07-15 10:04:49 -05:00
dc395x.h
dec_esp.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
dmx3191d.c
[SCSI] pci_module_init conversion in scsi subsystem
2006-09-26 11:35:32 -07:00
dpt_i2o.c
[SCSI] dpt_i2o: convert to use the data buffer accessors
2007-05-31 12:25:27 -05:00
dpti.h
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
dtc.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
dtc.h
eata.c
[SCSI] eata: convert to use the data buffer accessors
2007-05-26 19:13:55 -05:00
eata_generic.h
[SCSI] eata_pio: Remove FALSE/TRUE defines
2007-03-20 11:27:03 -05:00
eata_pio.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
eata_pio.h
esp_scsi.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2007-07-15 16:51:54 -07:00
esp_scsi.h
[SCSI] esp: use shost_priv
2007-05-31 17:30:04 -04:00
fastlane.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
fcal.c
[SCSI] Improve inquiry printing
2006-08-06 15:59:26 -05:00
fcal.h
fd_mcs.c
[SCSI] minor bug fixes and cleanups
2006-11-15 16:41:27 -06:00
fdomain.c
[SCSI] fdomain: fix PCMCIA-related warnings
2007-05-27 12:59:28 -05:00
fdomain.h
FlashPoint.c
[SCSI] BusLogic: Replace 'boolean' by 'bool'
2007-02-07 18:32:29 -05:00
g_NCR5380.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
g_NCR5380.h
g_NCR5380_mmio.c
gdth.c
[SCSI] gdth: Fix obvious typo "spin_lock_irqrestore()"
2007-05-30 08:39:52 -05:00
gdth.h
[SCSI] drivers/scsi/gdth.h: removal of old scsi code
2006-09-26 11:35:16 -07:00
gdth_ioctl.h
gdth_kcompat.h
gdth_proc.c
gdth_proc.h
gvp11.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
gvp11.h
[SCSI] wd33c93: Scsi_Cmnd convertion
2006-09-12 17:12:31 -05:00
hosts.c
SCSI: use the proper semaphore to protect the class lists
2007-04-27 10:57:30 -07:00
hptiop.c
[SCSI] hptiop: convert to use the data buffer accessors
2007-06-17 18:35:14 -05:00
hptiop.h
ibmmca.c
[SCSI] ibmmca: convert to use the data buffer accessors
2007-05-26 16:30:17 -05:00
ide-scsi.c
ide-scsi: fix OOPS in idescsi_expiry()
2007-06-16 02:24:44 +02:00
imm.c
WorkStruct: make allyesconfig
2006-11-22 14:57:56 +00:00
imm.h
Remove all inclusions of <linux/config.h>
2006-10-04 03:38:54 -04:00
in2000.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
in2000.h
initio.c
[SCSI] initio: convert to use the data buffer accessors
2007-05-26 19:13:27 -05:00
initio.h
[SCSI] initio: Convert into a real Linux driver and update to modern style
2007-05-22 11:08:56 -05:00
ipr.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2007-07-15 16:51:54 -07:00
ipr.h
[SCSI] ipr: Use PCI-E reset API for new ipr adapter
2007-05-08 11:54:40 -05:00
ips.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2007-07-15 16:51:54 -07:00
ips.h
[SCSI] ips: remove kernel 2.4 code
2007-05-24 09:14:41 -05:00
iscsi_tcp.c
[SCSI] iscsi_tcp: convert to use the data buffer accessors
2007-06-17 16:01:55 -05:00
iscsi_tcp.h
[SCSI] iscsi_tcp: fix handling of data buffer padding
2007-06-02 15:35:10 -04:00
jazz_esp.c
[SCSI] esp: use shost_priv
2007-05-31 17:30:04 -04:00
Kconfig
Introduce CONFIG_VIRT_TO_BUS
2007-07-16 09:05:42 -07:00
lasi700.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
libiscsi.c
[SCSI] iscsi_tcp: convert to use the data buffer accessors
2007-06-17 16:01:55 -05:00
libsrp.c
[SCSI] tgt: fix a rdma indirect transfer error bug
2007-05-16 12:45:17 -04:00
mac53c94.c
[SCSI] mac53c94: convert to use the data buffer accessors
2007-05-26 19:07:50 -05:00
mac53c94.h
mac_esp.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
mac_scsi.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
mac_scsi.h
Makefile
[SCSI] don't build scsi_dma_{map,unmap} for !HAS_DMA
2007-07-14 19:28:10 -05:00
mca_53c9x.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
megaraid.c
[SCSI] megaraid_old: convert to use the data buffer accessors
2007-05-31 18:11:21 -04:00
megaraid.h
[SCSI] megaraid: fix warnings when CONFIG_PROC_FS=n
2007-05-08 11:15:08 -05:00
mesh.c
[SCSI] mesh: convert to use the data buffer accessors
2007-06-07 08:49:10 -05:00
mesh.h
mvme16x_scsi.c
[SCSI] 53c700: m68k MVME16x NCR53C710 SCSI
2007-06-17 16:17:40 -05:00
mvme147.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
mvme147.h
[SCSI] wd33c93: Scsi_Cmnd convertion
2006-09-12 17:12:31 -05:00
ncr53c8xx.c
[SCSI] ncr53c8xx: convert to use the data buffer accessors
2007-07-15 10:03:03 -05:00
ncr53c8xx.h
Fix misc .c/.h comment typos
2006-11-30 05:24:39 +01:00
NCR53C9x.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
NCR53C9x.h
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
NCR53c406a.c
[SCSI] NCR53c406a: convert to use the data buffer accessors
2007-05-26 19:08:20 -05:00
NCR5380.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2007-07-15 16:51:54 -07:00
NCR5380.h
[SCSI] ncr5380 warning fixes
2007-05-24 09:13:25 -05:00
NCR_D700.c
[SCSI] NCR_D700: fix compile error
2007-01-27 09:28:58 -06:00
NCR_D700.h
NCR_Q720.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
NCR_Q720.h
nsp32.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2007-07-15 16:51:54 -07:00
nsp32.h
[SCSI] drivers/scsi/nsp32.h: removal of old scsi code
2006-09-26 10:39:00 -07:00
nsp32_debug.c
nsp32_io.h
oktagon_esp.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
oktagon_io.S
osst.c
[SCSI] modalias for scsi devices
2007-04-17 18:15:04 -04:00
osst.h
[PATCH] osst endianness annotations
2007-02-09 09:14:07 -08:00
osst_detect.h
osst_options.h
pas16.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
pas16.h
pluto.c
[SCSI] pluto: Use wait_for_completion_timeout.
2007-05-29 02:49:05 -07:00
pluto.h
ppa.c
[SCSI] ppa: coding police and printk levels
2007-07-15 09:36:25 -05:00
ppa.h
Remove all inclusions of <linux/config.h>
2006-10-04 03:38:54 -04:00
psi240i.c
[SCSI] psi240i.c: fix an array overrun
2006-11-10 10:01:42 +09:00
psi240i.h
[SCSI] Scsi_Cmnd conversion in psi240i driver
2006-10-25 15:12:38 -07:00
psi_chip.h
ql1040_fw.h
ql1280_fw.h
ql12160_fw.h
qla1280.c
[SCSI] qla1280: use DMA_64BIT_MASK instead of ~ 0ULL
2007-05-06 09:33:11 -05:00
qla1280.h
qlogicfas.c
qlogicfas408.c
[SCSI] qlogicfas408: convert to use the data buffer accessors
2007-05-26 19:21:09 -05:00
qlogicfas408.h
[SCSI] Scsi_Cmnd conversion in qlogicfas408 driver
2006-10-25 15:11:55 -07:00
qlogicpti.c
[SPARC/64] constify of_get_property return: drivers
2007-04-26 01:54:27 -07:00
qlogicpti.h
qlogicpti_asm.c
[SPARC]: Fix some section mismatch warnings in sparc drivers.
2006-10-17 19:28:51 -07:00
raid_class.c
[SCSI] raid class: handle component-add errors
2006-10-04 13:27:26 -05:00
script_asm.pl
scsi.c
[SCSI] scsi.c: convert to use the data buffer accessors
2007-07-14 18:57:54 -05:00
scsi.h
[SCSI] remove unnecessary includes of linux/config.h from drivers/scsi/
2006-08-19 13:39:11 -07:00
scsi_debug.c
[SCSI] scsi_debug: correct parameter default text
2007-06-17 14:56:07 -05:00
scsi_debug.h
scsi_devinfo.c
[SCSI] Add Brownie 1200U3P to blacklist
2007-07-14 18:58:37 -05:00
scsi_error.c
Freezer: make kernel threads nonfreezable by default
2007-07-17 10:23:02 -07:00
scsi_ioctl.c
scsi_lib.c
[SCSI] don't build scsi_dma_{map,unmap} for !HAS_DMA
2007-07-14 19:28:10 -05:00
scsi_lib_dma.c
[SCSI] don't build scsi_dma_{map,unmap} for !HAS_DMA
2007-07-14 19:28:10 -05:00
scsi_logging.h
scsi_module.c
scsi_netlink.c
[NETLINK]: Switch cb_lock spinlock to mutex and allow to override it
2007-04-25 22:29:03 -07:00
scsi_priv.h
[SCSI] scsi_error.c: Export some scsi_eh_* functions
2007-01-27 10:06:34 -06:00
scsi_proc.c
[SCSI] scsi_proc.c: display sdev->scsi_level correctly
2007-02-16 11:12:07 -06:00
scsi_sas_internal.h
scsi_scan.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2007-07-15 16:51:54 -07:00
scsi_sysctl.c
[PATCH] sysctl: remove insert_at_head from register_sysctl
2007-02-14 08:09:59 -08:00
scsi_sysfs.c
[SCSI] kill scsi host template suspend/resume
2007-05-22 10:41:12 -05:00
scsi_tgt_if.c
[SCSI] tgt: fix sesnse buffer problems
2007-03-11 11:39:27 -05:00
scsi_tgt_lib.c
[SCSI] tgt: remove the code to build sense
2007-03-20 10:52:59 -05:00
scsi_tgt_priv.h
[SCSI] tgt: fix sesnse buffer problems
2007-03-11 11:39:27 -05:00
scsi_transport_api.h
scsi_transport_fc.c
[SCSI] fc_transport: Check portstates before invoking target scan
2007-06-17 16:03:11 -05:00
scsi_transport_iscsi.c
[SCSI] iscsi class, iscsi_tcp, iser, qla4xxx: add netdevname sysfs attr
2007-06-02 15:38:04 -04:00
scsi_transport_sas.c
Fix typos concerning hierarchy
2007-02-17 19:23:03 +01:00
scsi_transport_spi.c
[SCSI] spi transport class: export spi_dv_pending
2007-02-02 20:44:25 -06:00
scsi_typedefs.h
scsi_wait_scan.c
[SCSI] Add ability to scan scsi busses asynchronously
2006-10-11 13:44:25 -05:00
scsicam.c
sd.c
bsg: add a request_queue argument to scsi_cmd_ioctl()
2007-07-16 08:52:45 +02:00
seagate.c
[SCSI] seagate: remove BROKEN tag
2007-01-03 16:57:38 -06:00
sg.c
[SCSI] sg: remove unnecessary check
2007-05-28 09:08:32 -05:00
sgiwd93.c
Convert SGI IP22 and specific drivers to platform_device.
2007-05-11 17:00:29 +01:00
sim710.c
[SCSI] 53c700: Allow setting burst length
2007-01-13 13:44:30 -06:00
sni_53c710.c
[SCSI] sni_53c710: Cleanup
2007-07-14 19:12:15 -05:00
sr.c
[SCSI] sr: fix error handling in module_init
2007-07-14 18:54:34 -05:00
sr.h
sr_ioctl.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
sr_vendor.c
[PATCH] getting rid of all casts of k[cmz]alloc() calls
2006-12-13 09:05:58 -08:00
st.c
bsg: add a request_queue argument to scsi_cmd_ioctl()
2007-07-16 08:52:45 +02:00
st.h
[SCSI] st: fix Tape dies if wrong block size used, bug 7919
2007-02-03 08:05:47 -06:00
st_options.h
stex.c
[SCSI] stex: use resid for xfer len information
2007-07-14 18:59:10 -05:00
sun3_NCR5380.c
[PATCH] m68k trivial build fixes
2006-12-17 10:21:53 -08:00
sun3_scsi.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
sun3_scsi.h
[PATCH] Sun3 SCSI: Make sun3 scsi drivers compile/work again
2006-12-09 09:41:18 -08:00
sun3_scsi_vme.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
sun3x_esp.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
sun_esp.c
[SCSI] esp: use shost_priv
2007-05-31 17:30:04 -04:00
sym53c416.c
[SCSI] sym53c416: convert to use the data buffer accessors
2007-05-26 19:08:50 -05:00
sym53c416.h
t128.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
t128.h
[SCSI] scsi: t128 scsi_cmnd convertion
2006-11-15 16:43:50 -06:00
tmscsim.c
[SCSI] tmscsim: Further clean-up of the driver
2007-07-14 18:56:33 -05:00
tmscsim.h
[SCSI] tmscsim: Further clean-up of the driver
2007-07-14 18:56:33 -05:00
u14-34f.c
[SCSI] u14-34f: convert to use the data buffer accessors
2007-05-26 19:19:04 -05:00
ultrastor.c
[SCSI] ultrastor: convert to use the data buffer accessors
2007-05-26 19:18:38 -05:00
ultrastor.h
[SCSI] scsi-driver ultrastore replace Scsi_Cmnd with struct scsi_cmnd
2006-09-07 12:39:34 -05:00
wd33c93.c
[SCSI] wd33c93: Fast SCSI with WD33C93B
2007-02-16 09:22:11 -06:00
wd33c93.h
[SCSI] wd33c93: Fast SCSI with WD33C93B
2007-02-16 09:22:11 -06:00
wd7000.c
[SCSI] wd7000: convert to use the data buffer accessors
2007-05-26 19:18:10 -05:00
zalon.c
zorro7xx.c
[SCSI] 53c700: Fixup m68k drivers:
2007-06-19 19:53:35 -07:00