1
linux/drivers/net
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
..
appletalk
arcnet [ARCNET]: Use menuconfig objects. 2007-05-24 16:36:51 -07:00
arm Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2007-07-16 17:48:54 -07:00
atl1 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2007-07-16 17:48:54 -07:00
bonding bonding/bond_main.c: make 2 functions static 2007-07-10 14:31:45 -04:00
chelsio network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
cris
cxgb3 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2007-07-12 16:45:40 -07:00
e1000 PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
ehea eHEA: Introducing support vor DLPAR memory add 2007-07-16 17:59:50 -04:00
fec_8xx Use menuconfig objects II - netdev (general+100mbit) 2007-07-08 22:16:40 -04:00
fs_enet Use menuconfig objects II - netdev (general+100mbit) 2007-07-08 22:16:40 -04:00
hamradio Fix "deprecated" typoes. 2007-05-09 07:18:01 +02:00
ibm_emac ibm_emac: fix link speed detection change 2007-05-17 20:43:15 -04:00
irda [IRDA]: use mutex instead of semaphore in VLSI 82C147 IrDA controller driver 2007-07-10 22:18:51 -07:00
ixgb ixgb: don't print error if pci_enable_msi() fails, cleanup minor leak 2007-05-17 20:43:15 -04:00
ixp2000 [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
mlx4 IB/mlx4: Implement query SRQ 2007-07-12 15:41:24 -07:00
myri10ge myri10ge: Remove nonsensical limit in the tx done routine 2007-07-16 18:28:05 -04:00
netxen PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
pcmcia PCMCIA: add Socket Ethernet card into pcnet_cs 2007-07-10 12:24:03 -04:00
phy phylib: Add Marvell 88E1112 phy id 2007-07-10 12:41:09 -04:00
skfp potential parse error in ifdef 2007-06-01 08:18:27 -07:00
tokenring tokenring/3c359.c:xl_init() must be __devinit 2007-07-10 12:24:42 -04:00
tulip fallout from Auke's pci ->revision patch 2007-07-15 16:40:52 -07:00
usb Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2007-07-16 17:48:54 -07:00
wan Introduce CONFIG_VIRT_TO_BUS 2007-07-16 09:05:42 -07:00
wireless Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
3c59x.c 3cSOHO100-TX needs EXTRA_PREAMBLE 2007-07-10 12:22:30 -04:00
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c
3c505.h
3c507.c
3c509.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
3c515.c
3c523.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
3c523.h
3c527.c
3c527.h
7990.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
7990.h
8139cp.c Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2007-07-16 17:48:54 -07:00
8139too.c Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-07-12 13:40:57 -07:00
8390.c
8390.h AX88796 network driver 2007-07-10 12:41:08 -04:00
82596.c
a2065.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
a2065.h
ac3200.c
acenic_firmware.h
acenic.c acenic: SET_NETDEV_DEV is always there these days 2007-07-08 22:16:40 -04:00
acenic.h network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
amd8111e.c network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
amd8111e.h potential parse error in ifdef 2007-06-01 08:18:27 -07:00
apne.c
ariadne.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
ariadne.h
at1700.c
atarilance.c
atp.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
atp.h
au1000_eth.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
au1000_eth.h
ax88796.c ax88796: dev_dbg() wants device, not platform device 2007-07-15 16:40:52 -07:00
b44.c b44: use netdev_alloc_skb 2007-07-08 22:16:40 -04:00
b44.h b44: packet offset is constant 2007-07-08 22:16:40 -04:00
bmac.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
bmac.h
bnx2_fw2.h [BNX2]: Update 5709 firmware. 2007-05-03 13:21:48 -07:00
bnx2_fw.h [BNX2]: Update 5708 firmware. 2007-05-03 13:21:13 -07:00
bnx2.c [NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices. 2007-07-14 19:07:52 -07:00
bnx2.h [BNX2]: Print management firmware version. 2007-07-10 22:18:38 -07:00
bsd_comp.c
cassini.c PCI: add pci_try_set_mwi 2007-07-11 16:02:11 -07:00
cassini.h
cs89x0.c
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c declance: Remove a dangling spin_unlock_irq() thingy 2007-05-21 19:41:19 -04:00
defxx.c defxx: Fix the handling of ioremap() failures 2007-05-30 09:52:48 -04:00
defxx.h
depca.c
depca.h
dgrs_asstruct.h
dgrs_bcomm.h
dgrs_es4h.h
dgrs_ether.h
dgrs_firmware.c
dgrs_i82596.h
dgrs_plx9060.h
dgrs.c
dgrs.h
dl2k.c Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-07-12 13:40:57 -07:00
dl2k.h PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
dm9000.c Blackfin arch: Port the dm9000 driver to Blackfin by using the correct low-level io routines 2007-07-12 12:11:48 +08:00
dm9000.h
dummy.c [RTNETLINK]: rtnl_link: allow specifying initial device address 2007-07-11 19:45:36 -07:00
e100.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
e2100.c
eepro100.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
eepro.c Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
eexpress.c [netdrvr] eexpress: minor corrections 2007-04-28 11:05:43 -04:00
eexpress.h
epic100.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
fec.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
fec.h
forcedeth.c Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2007-07-16 17:48:54 -07:00
gianfar_ethtool.c
gianfar_mii.c gianfar: kill unused header 2007-07-16 18:28:05 -04:00
gianfar_mii.h
gianfar_sysfs.c
gianfar.c gianfar: add support for SGMII 2007-07-08 22:16:38 -04:00
gianfar.h gianfar: add support for SGMII 2007-07-08 22:16:38 -04:00
hamachi.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
hp100.c net/hp100: fix section mismatch warning 2007-06-01 08:18:30 -07:00
hp100.h
hp-plus.c
hp.c
hplance.c
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c sysfs: kill unnecessary attribute->owner 2007-07-11 16:09:06 -07:00
ibmveth.h
ifb.c [RTNETLINK]: rtnl_link: allow specifying initial device address 2007-07-11 19:45:36 -07:00
ioc3-eth.c IOC3: Switch to pci refcounting safe APIs 2007-07-10 12:29:24 -04:00
isa-skeleton.c
iseries_veth.c
jazzsonic.c SONIC interrupt handling 2007-05-04 17:59:08 -07:00
Kconfig Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2007-07-16 17:48:54 -07:00
lance.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
lasi_82596.c Extract chip specific code out of lasi_82596.c 2007-07-08 22:16:45 -04:00
lib8390.c
lib82596.c Extract chip specific code out of lasi_82596.c 2007-07-08 22:16:45 -04:00
LICENSE.SRC
lne390.c
loopback.c
lp486e.c
mac89x0.c m68k: Mac89x0 Ethernet netif updates 2007-05-04 17:59:06 -07:00
mac8390.c m68k: Mac DP8390 update 2007-05-04 17:59:07 -07:00
macb.c macb: Add multicast capability 2007-07-16 18:28:04 -04:00
macb.h macb: Use generic PHY layer 2007-07-16 18:28:04 -04:00
mace.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
mace.h
macmace.c macmace: use "unsigned long flags;" 2007-07-10 12:41:18 -04:00
macsonic.c SONIC interrupt handling 2007-05-04 17:59:08 -07:00
macvlan.c [NET]: Add macvlan driver 2007-07-14 18:55:06 -07:00
Makefile Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block 2007-07-16 10:48:20 -07:00
meth.c meth driver renovation 2007-05-24 17:20:49 -04:00
meth.h Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
mii.c mii: add kernel-doc notation 2007-04-28 11:01:05 -04:00
mipsnet.c [MIPS] Don't drag a platform specific header into generic arch code. 2007-06-20 22:27:10 +01:00
mipsnet.h
mv643xx_eth.c mv643xx_eth: make eth_port_uc_addr_{get,set}() calls symmetric 2007-04-28 11:01:02 -04:00
mv643xx_eth.h mv643xx_eth: make eth_port_uc_addr_{get,set}() calls symmetric 2007-04-28 11:01:02 -04:00
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
ne2.c
ne2k-pci.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
ne3210.c
ne-h8300.c
ne.c ne: MIPS: Use platform_driver for ne on RBTX49XX 2007-05-08 01:23:09 -04:00
netconsole.c
netx-eth.c
ni52.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
ni52.h
ni65.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
ni65.h
ni5010.c
ni5010.h
ns83820.c drivers/net/ns83820.c: fix a check-after-use 2007-07-02 08:24:52 -04:00
pasemi_mac.c pasemi_mac: Fix TX interrupt threshold 2007-07-08 22:16:45 -04:00
pasemi_mac.h pasemi_mac: Fix register defines 2007-05-15 17:44:39 -04:00
pci-skeleton.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
pcnet32.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
plip.c
ppp_async.c
ppp_deflate.c
ppp_generic.c [PPP]: Fix osize too small errors when decoding mppe. 2007-06-23 23:05:54 -07:00
ppp_mppe.c [PPP]: Revert 606f585e36 2007-06-23 23:04:11 -07:00
ppp_mppe.h
ppp_synctty.c
pppoe.c
pppol2tp.c [PPPOL2TP]: Use proper printf format specifier for size_t. 2007-07-10 22:16:00 -07:00
pppox.c [L2TP]: Add the ability to autoload a pppox protocol module. 2007-04-30 00:21:02 -07:00
ps3_gelic_net.c ps3: gigabit ethernet driver for PS3, take3 2007-07-10 14:13:46 -04:00
ps3_gelic_net.h ps3: gigabit ethernet driver for PS3, take3 2007-07-10 14:13:46 -04:00
qla3xxx.c qla3xxx: cleanup checksum offload code 2007-07-08 22:16:40 -04:00
qla3xxx.h qla3xxx: Adding support for the Agere PHY (ET1011C) 2007-04-28 11:01:02 -04:00
r8169.c r8169: perform RX config change after mac filtering 2007-07-08 22:16:45 -04:00
rionet.c
rrunner.c rrunner.c:rr_init() must be __devinit 2007-07-10 12:24:42 -04:00
rrunner.h
s2io-regs.h S2io: Remove unused variables 2007-04-28 11:01:01 -04:00
s2io.c Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2007-07-16 17:48:54 -07:00
s2io.h PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
saa9730.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
saa9730.h
sb1000.c
sb1250-mac.c potential compiler error, irqfunc caller sites update 2007-07-06 10:23:43 -07:00
sc92031.c
seeq8005.c
seeq8005.h
sgiseeq.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sgiseeq.h
shaper.c
sis190.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sis900.c sis900_mii_probe() must be __devinit 2007-07-10 12:24:42 -04:00
sis900.h
skge.c skge: crash on shutdown/suspend 2007-05-11 17:53:36 -04:00
skge.h skge: rearrange fields 2007-04-28 11:01:00 -04:00
sky2.c sky2: 1.16 version 2007-07-10 12:22:30 -04:00
sky2.h sky2: debug interface 2007-07-10 12:22:28 -04:00
slhc.c
slip.c
slip.h
smc91x.c
smc91x.h Blackfin SMC91X ethernet supporting driver: SMC91C111 LEDs are note drived in the kernel like in uboot 2007-06-11 17:44:14 +08:00
smc911x.c smc911x: fix compilation breakage 2007-05-15 17:44:39 -04:00
smc911x.h
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sni_82596.c Ethernet driver for EISA only SNI RM200/RM400 machines 2007-07-08 22:16:46 -04:00
sonic.c SONIC interrupt handling 2007-05-04 17:59:08 -07:00
sonic.h
Space.c more ACSI removal 2007-07-16 15:02:47 +02:00
spider_net_ethtool.c spidernet: checksum and ethtool 2007-06-20 19:09:33 -04:00
spider_net.c spidernet: improve interrupt handling 2007-07-10 12:22:30 -04:00
spider_net.h spidernet: Replace literal with const 2007-07-08 22:16:45 -04:00
starfire_firmware.h
starfire_firmware.pl
starfire.c Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-07-12 13:40:57 -07:00
stnic.c
sun3_82586.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sun3_82586.h
sun3lance.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sunbmac.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sunbmac.h
sundance.c Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-07-12 13:40:57 -07:00
sungem_phy.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
sungem_phy.h
sungem.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
sungem.h
sunhme.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
sunhme.h
sunlance.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sunqe.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sunqe.h
sunvnet.c [SPARC64]: Abstract out mdesc accesses for better MD update handling. 2007-07-16 04:04:28 -07:00
sunvnet.h [SPARC64]: Add Sun LDOM virtual network driver. 2007-07-16 04:03:23 -07:00
tc35815.c [MIPS] tc35815: Load MAC address via platform_device 2007-07-10 17:33:04 +01:00
tg3.c [NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices. 2007-07-14 19:07:52 -07:00
tg3.h [TG3]: Add missing NVRAM strapping. 2007-07-11 19:48:50 -07:00
tlan.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
tlan.h
tsi108_eth.c [POWERPC] Generalize tsi108 PHY types 2007-05-08 11:54:20 +10:00
tsi108_eth.h [POWERPC] Generalize tsi108 PHY types 2007-05-08 11:54:20 +10:00
tun.c [NET]: Allow group ownership of TUN/TAP devices. 2007-07-10 22:16:42 -07:00
typhoon-firmware.h
typhoon.c Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-07-12 13:40:57 -07:00
typhoon.h
ucc_geth_mii.c ucc_geth: Fix MODULE_DEVICE_TABLE() duplication 2007-05-24 17:20:48 -04:00
ucc_geth_mii.h ucc_geth: eliminate max-speed, change interface-type to phy-connection-type 2007-05-15 17:44:40 -04:00
ucc_geth.c QE Ethernet driver writes to wrong register to mask interrupts 2007-07-10 12:24:42 -04:00
ucc_geth.h ucc_geth: Fix interrupt coalescing size and alignment 2007-04-28 11:01:04 -04:00
via-rhine.c Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-07-12 13:40:57 -07:00
via-velocity.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
via-velocity.h
wd.c
yellowfin.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
znet.c
zorro8390.c