linux/drivers/video
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
..
aty sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes 2007-07-11 16:09:09 -07:00
backlight sysfs: kill unnecessary attribute->owner 2007-07-11 16:09:06 -07:00
console Video Console: Blackfin doesnt support VGA console 2007-07-12 12:07:40 +08:00
display make drivers/video/display/display-sysfs.c:display_class static 2007-05-08 11:15:26 -07:00
geode
i810 Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
intelfb intelfb: fix ring space calculation 2007-05-08 11:15:26 -07:00
kyro PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
logo Use menuconfig objects II: video/logo 2007-05-08 11:15:33 -07:00
matrox Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-07-12 13:40:57 -07:00
mbx
nvidia nvidiafb: Enable debugging messages a Kconfig option 2007-05-11 08:29:37 -07:00
pnx4008
riva rivafb: Fix I2C getscl callback function 2007-05-11 08:29:37 -07:00
savage savagefb: VGA state save and restore 2007-05-08 11:15:29 -07:00
sis PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
vermilion vmlfb: framebuffer driver for Intel Vermilion Range 2007-05-08 11:15:32 -07:00
68328fb.c
acornfb.c
acornfb.h
amba-clcd.c
amifb.c
arcfb.c arcfb: use fb_sys_read() 2007-05-08 11:15:30 -07:00
arkfb.c vt8623fb: arkfb: null pointer dereference fix 2007-06-01 08:18:28 -07:00
asiliantfb.c
atafb_iplan2p2.c m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb_iplan2p4.c m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb_iplan2p8.c m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb_mfb.c m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb_utils.h m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb.c m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb.h m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atmel_lcdfb.c atmel_lcdfb: AT91/AT32 LCD Controller framebuffer driver 2007-05-11 08:29:37 -07:00
au1100fb.c
au1100fb.h
au1200fb.c
au1200fb.h
bt431.h
bt455.h
bw2.c [BW2]: Fix section mismatch warnings. 2007-03-09 23:11:05 -08:00
c2p.c
c2p.h
cfbcopyarea.c fbdev: consolidate common drawing functions into a header file 2007-05-08 11:15:30 -07:00
cfbfillrect.c fbdev: consolidate common drawing functions into a header file 2007-05-08 11:15:30 -07:00
cfbimgblt.c
cg3.c [SPARC/64] constify of_get_property return: drivers 2007-04-26 01:54:27 -07:00
cg6.c
cg14.c
chipsfb.c fix section mismatch in chipsfb 2007-06-28 11:34:54 -07:00
cirrusfb.c cirrusfb: convert to generic boolean 2007-05-08 11:15:28 -07:00
clps711xfb.c
controlfb.c [POWERPC] Remove old interface find_devices 2007-04-24 22:09:02 +10:00
controlfb.h
cyber2000fb.c
cyber2000fb.h
cyblafb.c
dnfb.c
edid.h
epson1355fb.c fbdev: pass struct fb_info to fb_read and fb_write 2007-05-08 11:15:30 -07:00
fb_ddc.c
fb_defio.c fbdev: kill sparse warning in deferred IO 2007-05-08 11:15:29 -07:00
fb_draw.h fbdev: consolidate common drawing functions into a header file 2007-05-08 11:15:30 -07:00
fb_notify.c
fb_sys_fops.c fbdev: add fb_read/fb_write functions for framebuffers in system RAM 2007-05-08 11:15:30 -07:00
fbcmap.c
fbcvt.c
fbmem.c fbdev: add support for AVR32 2007-05-09 12:30:57 -07:00
fbmon.c fbdev: add Ultrasharp UXGA to broken monitor database 2007-05-08 11:15:26 -07:00
fbsysfs.c fbdev: fix obvious bug in show_pan() 2007-05-08 11:15:26 -07:00
ffb.c [VIDEO] ffb: The pseudo_palette is only 16 elements long 2007-06-05 13:14:33 -07:00
fm2fb.c
g364fb.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
gbefb.c
gxt4500.c
hecubafb.c hecubafb: use fb_sys_read() 2007-05-08 11:15:30 -07:00
hgafb.c
hitfb.c
hpfb.c
igafb.c [IGAFB]: Use pci_device_to_OF_node() on sparc. 2007-04-26 01:55:03 -07:00
imacfb.c
imsttfb.c
imxfb.c imxfb: fix memory hole 2007-05-23 20:14:13 -07:00
imxfb.h
Kconfig [POWERPC] PS3: Frame buffer system-bus rework 2007-06-28 19:16:42 +10:00
leo.c
macfb.c
macmodes.c
macmodes.h
Makefile atmel_lcdfb: AT91/AT32 LCD Controller framebuffer driver 2007-05-11 08:29:37 -07:00
maxinefb.c
modedb.c VIDEO: add spaces on either side of the case "..." operator 2007-05-08 11:15:28 -07:00
neofb.c neofb: Fix pseudo_palette array overrun in neofb_setcolreg 2007-05-31 07:48:27 -07:00
offb.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
output.c
p9100.c
platinumfb.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
platinumfb.h
pm2fb.c pm2fb: RDAC_WR barriers clean up 2007-05-23 20:14:13 -07:00
pm3fb.c pm3fb: switching between X and fb fix 2007-06-01 08:18:30 -07:00
pmag-aa-fb.c
pmag-ba-fb.c
pmagb-b-fb.c
ps3fb.c Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
pvr2fb.c fb: pvr2fb: A few more __devinit annotations for PCI. 2007-07-07 04:05:06 +09:00
pxafb.c VIDEO: add spaces on either side of the case "..." operator 2007-05-08 11:15:28 -07:00
pxafb.h
q40fb.c
s1d13xxxfb.c
s3c2410fb.c
s3c2410fb.h
s3fb.c svgalib: move fb_get_caps to svgalib 2007-05-09 12:30:57 -07:00
sa1100fb.c
sa1100fb.h
sbuslib.c
sbuslib.h
sgivwfb.c
skeletonfb.c skeletonfb: fix of xxxfb_setup ifdef 2007-06-01 08:18:28 -07:00
sm501fb.c sm501fb printk warning fixes 2007-05-08 11:15:34 -07:00
sstfb.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
sticore.h
stifb.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
sunxvr500.c [VIDEO] sunxvr500fb: Fix pseudo_palette array size 2007-06-05 13:15:26 -07:00
sunxvr2500.c [VIDEO] sunxvr2500fb: Fix pseudo_palette array size 2007-06-05 13:15:01 -07:00
svgalib.c svgalib: move fb_get_caps to svgalib 2007-05-09 12:30:57 -07:00
syscopyarea.c fbdev: consolidate common drawing functions into a header file 2007-05-08 11:15:30 -07:00
sysfillrect.c fbdev: consolidate common drawing functions into a header file 2007-05-08 11:15:30 -07:00
sysimgblt.c fbdev: add drawing functions for framebuffers in system RAM 2007-05-08 11:15:30 -07:00
tcx.c
tdfxfb.c
tgafb.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
tridentfb.c
tx3912fb.c
valkyriefb.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
valkyriefb.h
vesafb.c
vfb.c vfb: use fb_sys_read() and fb_sys_write() 2007-05-08 11:15:30 -07:00
vga16fb.c vga16fb: actually support widths in multiples of 8 2007-05-08 11:15:33 -07:00
vgastate.c vga: vgastate fix 2007-05-08 11:15:32 -07:00
vt8623fb.c vt8623fb: arkfb: null pointer dereference fix 2007-06-01 08:18:28 -07:00
w100fb.c w100fb: fix compile warnings 2007-05-23 20:14:13 -07:00
w100fb.h
xilinxfb.c xilinxfb: xilinx framebuffer device driver 2007-05-08 11:15:34 -07:00