kernel-ark/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
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
chelsio
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
ehea eHEA: Introducing support vor DLPAR memory add 2007-07-16 17:59:50 -04:00
fec_8xx
fs_enet
hamradio
ibm_emac
irda
ixgb
ixp2000
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
pcmcia
phy
skfp
tokenring
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
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c
3c505.h
3c507.c
3c509.c
3c515.c
3c523.c
3c523.h
3c527.c
3c527.h
7990.c
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
82596.c
a2065.c
a2065.h
ac3200.c
acenic_firmware.h
acenic.c
acenic.h
amd8111e.c
amd8111e.h
apne.c
ariadne.c
ariadne.h
at1700.c
atarilance.c
atp.c
atp.h
au1000_eth.c
au1000_eth.h
ax88796.c ax88796: dev_dbg() wants device, not platform device 2007-07-15 16:40:52 -07:00
b44.c
b44.h
bmac.c
bmac.h
bnx2_fw2.h
bnx2_fw.h
bnx2.c [NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices. 2007-07-14 19:07:52 -07:00
bnx2.h
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
defxx.c
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
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
e2100.c
eepro100.c
eepro.c
eexpress.c
eexpress.h
epic100.c
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c
fec.c
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.h
hamachi.c
hp100.c
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
isa-skeleton.c
iseries_veth.c
jazzsonic.c
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
lasi_82596.c
lib8390.c
lib82596.c
LICENSE.SRC
lne390.c
loopback.c
lp486e.c
mac89x0.c
mac8390.c
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
mace.h
macmace.c
macsonic.c
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.h
mii.c
mipsnet.c
mipsnet.h
mv643xx_eth.c
mv643xx_eth.h
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c
ne2.c
ne2k-pci.c
ne3210.c
ne-h8300.c
ne.c
netconsole.c
netx-eth.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
ns83820.c
pasemi_mac.c
pasemi_mac.h
pci-skeleton.c
pcnet32.c
plip.c
ppp_async.c
ppp_deflate.c
ppp_generic.c
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c
pppoe.c
pppol2tp.c
pppox.c
ps3_gelic_net.c
ps3_gelic_net.h
qla3xxx.c
qla3xxx.h
r8169.c
rionet.c
rrunner.c
rrunner.h
s2io-regs.h
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
saa9730.c
saa9730.h
sb1000.c
sb1250-mac.c
sc92031.c
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
shaper.c
sis190.c
sis900.c
sis900.h
skge.c
skge.h
sky2.c
sky2.h
slhc.c
slip.c
slip.h
smc91x.c
smc91x.h
smc911x.c
smc911x.h
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sni_82596.c
sonic.c
sonic.h
Space.c more ACSI removal 2007-07-16 15:02:47 +02:00
spider_net_ethtool.c
spider_net.c
spider_net.h
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
sun3_82586.h
sun3lance.c
sunbmac.c
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
sungem_phy.h
sungem.c
sungem.h
sunhme.c
sunhme.h
sunlance.c
sunqe.c
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
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
tlan.h
tsi108_eth.c
tsi108_eth.h
tun.c
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_mii.h
ucc_geth.c
ucc_geth.h
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
via-velocity.h
wd.c
yellowfin.c
znet.c
zorro8390.c