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 [PATCH] Recognize video=gx1fb:... option 2007-02-12 09:48:42 -08:00
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 [PATCH] mark struct file_operations const 6 2007-02-12 09:48:45 -08:00
nvidia nvidiafb: Enable debugging messages a Kconfig option 2007-05-11 08:29:37 -07:00
pnx4008 [PATCH] pnx4008:fix NULL dereference in rgbfb 2006-11-16 11:43:37 -08:00
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 [PATCH] vt: Remove VT-specific declarations and definitions from tty.h 2006-07-10 13:24:16 -07:00
acornfb.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
acornfb.h
amba-clcd.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
amifb.c [PATCH] fbdev: remove references to non-existent fbmon_valid_timings() 2006-12-13 09:05:55 -08:00
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 [PATCH] vt: Remove VT-specific declarations and definitions from tty.h 2006-07-10 13:24:16 -07:00
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 [PATCH] Video: fb, kzalloc changes 2007-02-12 09:48:43 -08:00
au1100fb.h [PATCH] au11oofb: fix to remove flickering 2006-12-08 08:29:06 -08:00
au1200fb.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
au1200fb.h [PATCH] au1200fb: Alchemy Au1200 framebuffer driver 2006-03-27 08:44:55 -08:00
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 [PATCH] various fbdev files: mark structs and array read-only 2006-12-08 08:29:05 -08:00
cg3.c [SPARC/64] constify of_get_property return: drivers 2007-04-26 01:54:27 -07:00
cg6.c [SPARC64]: Fix of_iounmap() region release. 2006-12-31 14:06:05 -08:00
cg14.c [CG14]: Fix section mismatch warnings. 2007-03-09 23:10:56 -08:00
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 [PATCH] cyber2010 framebuffer on ARM Netwinder fix 2007-02-12 09:48:42 -08:00
cyber2000fb.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cyblafb.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
dnfb.c [PATCH] vt: Remove VT-specific declarations and definitions from tty.h 2006-07-10 13:24:16 -07:00
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 Fix generic fb_ddc i2c edid probe msg 2006-11-16 22:18:28 -08:00
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 [PATCH] fbdev: statically link the framebuffer notification functions 2006-07-31 13:28:44 -07:00
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 [PATCH] fbcmap.c: mark structs const or __read_mostly 2006-12-08 08:29:05 -08:00
fbcvt.c [PATCH] various fbdev files: mark structs and array read-only 2006-12-08 08:29:05 -08:00
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 [PATCH] ioremap balanced with iounmap for drivers/video/fm2fb 2006-12-08 08:29:04 -08:00
g364fb.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
gbefb.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
gxt4500.c [PATCH] gxt4500: Fix colormap and PLL setting, support GXT6000P 2006-12-22 08:55:50 -08:00
hecubafb.c hecubafb: use fb_sys_read() 2007-05-08 11:15:30 -07:00
hgafb.c [PATCH] vt: Remove VT-specific declarations and definitions from tty.h 2006-07-10 13:24:16 -07:00
hitfb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
hpfb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
igafb.c [IGAFB]: Use pci_device_to_OF_node() on sparc. 2007-04-26 01:55:03 -07:00
imacfb.c [PATCH] x86: Fix dmi detection of MacBookPro and iMac 2006-08-27 11:01:29 -07:00
imsttfb.c [PATCH] vt: Remove VT-specific declarations and definitions from tty.h 2006-07-10 13:24:16 -07:00
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 [SPARC64]: Fix of_iounmap() region release. 2006-12-31 14:06:05 -08:00
macfb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
macmodes.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
macmodes.h [PATCH] macmodes: Fix section warning 2006-06-26 09:58:31 -07:00
Makefile atmel_lcdfb: AT91/AT32 LCD Controller framebuffer driver 2007-05-11 08:29:37 -07:00
maxinefb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
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 output: Add display output class support 2006-12-20 01:46:41 -05:00
p9100.c [SPARC64]: Fix of_iounmap() region release. 2006-12-31 14:06:05 -08:00
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 [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
pmag-ba-fb.c [TC] mips: pmag-ba-fb: Convert to the driver model 2007-02-09 16:23:17 +00:00
pmagb-b-fb.c [TC] pmagb-b-fb: Convert to the driver model 2007-02-09 16:23:18 +00:00
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 [ARM] 3848/1: pxafb: Add option of fixing video modes and spitz QVGA mode support 2006-10-02 13:33:37 +01:00
q40fb.c [PATCH] vt: Remove VT-specific declarations and definitions from tty.h 2006-07-10 13:24:16 -07:00
s1d13xxxfb.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
s3c2410fb.c [PATCH] s3c2410fb: fix un-initialised dev field 2007-02-16 08:14:01 -08:00
s3c2410fb.h fix file specification in comments 2006-10-03 23:01:26 +02:00
s3fb.c svgalib: move fb_get_caps to svgalib 2007-05-09 12:30:57 -07:00
sa1100fb.c [ARM] 4035/1: fix collie compilation 2006-12-17 23:37:47 +00:00
sa1100fb.h [PATCH] Replace regular code with appropriate calls to container_of() 2007-02-11 11:18:06 -08:00
sbuslib.c [SPARC]: Respect vm_page_prot in io_remap_page_range(). 2006-03-22 01:15:13 -08:00
sbuslib.h
sgivwfb.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
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 [PARISC] Fix stifb with IOREMAP and a 64-bit kernel 2006-03-30 17:48:47 +00:00
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 [SPARC64]: Fix of_iounmap() region release. 2006-12-31 14:06:05 -08:00
tdfxfb.c [PATCH] vt: Remove VT-specific declarations and definitions from tty.h 2006-07-10 13:24:16 -07:00
tgafb.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
tridentfb.c [PATCH] ioremap balanced with iounmap for drivers/video/tridentfb 2006-12-08 08:29:04 -08:00
tx3912fb.c [PATCH] vt: Remove VT-specific declarations and definitions from tty.h 2006-07-10 13:24:16 -07:00
valkyriefb.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
valkyriefb.h
vesafb.c [PATCH] annotate some variables in vesafb driver as __read_mostly 2006-12-08 08:29:06 -08:00
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 [PATCH] w100fb: Add acceleration support to ATI Imageon 2006-03-31 12:19:00 -08:00
xilinxfb.c xilinxfb: xilinx framebuffer device driver 2007-05-08 11:15:34 -07:00