summaryrefslogtreecommitdiffstats
path: root/arch/m68k
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-linus' of ↵Linus Torvalds2009-03-276-55/+226
|\ | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k: irq_node.handler() should return irqreturn_t m68k: section mismatch fixes: Atari SCSI m68k: section mismatch fixes: DMAsound for Atari MAINTAINERS: Replace dead link to m68k CVS repository by link to new git repository m68k: mac - Add SWIM floppy support m68k: mac - Add a new entry in mac_model to identify the floppy controller type. m68k: Add install target
| * m68k: irq_node.handler() should return irqreturn_tGeert Uytterhoeven2009-03-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | commit b5dc7840b3ebe9c7967dd8ba73db957767009ff9 ("m68k: introduce irq controller") reverted the return type of struct irq_node.handler() from irqreturn_t to int. Change it back to irqreturn_t, else it will give a compiler warning when irqreturn_t is turned into an enum in the near future: | arch/m68k/kernel/ints.c:231: warning: assignment from incompatible pointer type Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
| * m68k: mac - Add SWIM floppy supportLaurent Vivier2009-03-262-0/+53
| | | | | | | | | | | | | | | | It allows to read data from a floppy, but not to write to, and to eject the floppy (useful on our Mac without eject button). Signed-off-by: Laurent Vivier <Laurent@lvivier.info> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
| * m68k: mac - Add a new entry in mac_model to identify the floppy controller type.Laurent Vivier2009-03-262-54/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a field "floppy_type" which can take the following values: MAC_FLOPPY_IWM for an IWM based mac MAC_FLOPPY_SWIM_ADDR1 for a SWIM based mac with controller at VIA1 + 0x1E000 MAC_FLOPPY_SWIM_ADDR2 for a SWIM based mac with controller at VIA1 + 0x16000 MAC_FLOPPY_IOP for an IOP based mac MAC_FLOPPY_AV for an AV based mac Signed-off-by: Laurent Vivier <Laurent@lvivier.info> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
| * m68k: Add install targetLaurent Vivier2009-03-262-0/+55
| | | | | | | | | | | | | | | | This patch enables the use of "make install" on m68k architecture to copy kernel to /boot. Signed-off-by: Laurent Vivier <Laurent@lvivier.info> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* | Merge branch 'master' of /home/davem/src/GIT/linux-2.6/David S. Miller2009-03-2624-1907/+1209Star
|\| | | | | | | | | Conflicts: drivers/net/wimax/i2400m/usb-notif.c
| * m68k: merge the non-MMU and MMU versions of siginfo.hGreg Ungerer2009-03-163-101/+95Star
| | | | | | | | | | | | | | | | It is trivial to merge the non-MMU and MMU versions of siginfo.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of siginfo.h are not installed). Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68k: use the MMU version of unistd.h for all m68k platformsGreg Ungerer2009-03-163-749/+372Star
| | | | | | | | | | | | | | | | The MMU version of unistd.h can be use on non-MMU platrorms as well. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of unistd.h are not installed). Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68k: merge the non-MMU and MMU versions of signal.hGreg Ungerer2009-03-163-369/+212Star
| | | | | | | | | | | | | | | | It is trivial to merge the non-MMU and MMU versions of signal.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of signal.h are not installed). Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68k: merge the non-MMU and MMU versions of ptrace.hGreg Ungerer2009-03-163-170/+85Star
| | | | | | | | | | | | | | | | It is trivial to merge the non-MMU and MMU versions of ptrace.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of ptrace.h are not installed). Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68k: use MMU version of setup.h for both MMU and non-MMUGreg Ungerer2009-03-163-389/+374Star
| | | | | | | | | | | | | | | | The MMU version of setup.h can be used for all m68k platforms. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of setup.h are not installed). Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68k: merge the non-MMU and MMU versions of sigcontext.hGreg Ungerer2009-03-163-39/+22Star
| | | | | | | | | | | | | | | | It is trivial to merge the non-MMU and MMU versions of sigcontext.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of sigconext.h are not installed). Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68k: merge the non-MMU and MMU versions of swab.hGreg Ungerer2009-03-163-44/+26Star
| | | | | | | | | | | | | | | | It is trivial to merge the non-MMU and MMU versions of swab.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of swab.h are not installed). Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68k: merge the non-MMU and MMU versions of param.hGreg Ungerer2009-03-163-46/+23Star
| | | | | | | | | | | | | | | | It is trivial to merge the non-MMU and MMU versions of param.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of param.h are not installed). Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* | Merge branch 'master' of /home/davem/src/GIT/linux-2.6/David S. Miller2009-02-247-31/+31
|\|
| * m68k: atari - Rename "mfp" to "st_mfp"Geert Uytterhoeven2009-02-227-31/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://kisskb.ellerman.id.au/kisskb/buildresult/72115/: | net/mac80211/ieee80211_i.h:327: error: syntax error before 'volatile' | net/mac80211/ieee80211_i.h:350: error: syntax error before '}' token | net/mac80211/ieee80211_i.h:455: error: field 'sta' has incomplete type | distcc[19430] ERROR: compile net/mac80211/main.c on sprygo/32 failed This is caused by | # define mfp ((*(volatile struct MFP*)MFP_BAS)) in arch/m68k/include/asm/atarihw.h, which conflicts with the new "mfp" enum in net/mac80211/ieee80211_i.h. Rename "mfp" to "st_mfp", as it's a way too generic name for a global #define. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | net: new user space API for time stamping of incoming and outgoing packetsPatrick Ohly2009-02-161-0/+3
|/ | | | | | | | | | | | | | | | | | | | | | | User space can request hardware and/or software time stamping. Reporting of the result(s) via a new control message is enabled separately for each field in the message because some of the fields may require additional computation and thus cause overhead. User space can tell the different kinds of time stamps apart and choose what suits its needs. When a TX timestamp operation is requested, the TX skb will be cloned and the clone will be time stamped (in hardware or software) and added to the socket error queue of the skb, if the skb has a socket associated with it. The actual TX timestamp will reach userspace as a RX timestamp on the cloned packet. If timestamping is requested and no timestamping is done in the device driver (potentially this may use hardware timestamping), it will be done in software after the device's start_hard_xmit routine. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* m68knommu: remove the no longer used PCI support optionAdrian Bunk2009-01-271-4/+0Star
| | | | | Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: remove obsolete and unused eLIA boardAdrian Bunk2009-01-271-1/+1
| | | | | | | | Greg Ungerer said about this board: Only ever a handful where made, and that was in 1999. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: fix cache flushing for the 527x ColdFire processorsGreg Ungerer2009-01-271-2/+9
| | | | | | | | | | Fix cache flushing for the 527x ColdFire processors Its CACR register format is slightly different. Along with this add support for flushing the 523x cache, which uses the same format as the 527x ColdFire's, and was missing flush support. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68k{nommu}: fixups after the header moveHarvey Harrison2009-01-264-17/+11Star
| | | | | | | | | swab.h seems to have been missed during the header merge. Add conditionals similar to byteorder.h and remove the now unnecessary byteorder_no/mm.h Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for-next' of ↵Linus Torvalds2009-01-26308-0/+31193
|\ | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68k,m68knommu: merge header files Resolve trivial conflict in arch/m68knommu/include/asm/Kbuild
| * m68k,m68knommu: merge header filesSam Ravnborg2009-01-16308-0/+31198
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge header files for m68k and m68knommu to the single location: arch/m68k/include/asm The majority of this patch was the result of the script that is included in the changelog below. The script was originally written by Arnd Bergman and exten by me to cover a few more files. When the header files differed the script uses the following: The original m68k file is named <file>_mm.h [mm for memory manager] The m68knommu file is named <file>_no.h [no for no memory manager] The files uses the following include guard: This include gaurd works as the m68knommu toolchain set the __uClinux__ symbol - so this should work in userspace too. Merging the header files for m68k and m68knommu exposes the (unexpected?) ABI differences thus it is easier to actually identify these and thus to fix them. The commit has been build tested with both a m68k and a m68knommu toolchain - with success. The commit has also been tested with "make headers_check" and this patch fixes make headers_check for m68knommu. The script used: TARGET=arch/m68k/include/asm SOURCE=arch/m68knommu/include/asm INCLUDE="cachectl.h errno.h fcntl.h hwtest.h ioctls.h ipcbuf.h \ linkage.h math-emu.h md.h mman.h movs.h msgbuf.h openprom.h \ oplib.h poll.h posix_types.h resource.h rtc.h sembuf.h shmbuf.h \ shm.h shmparam.h socket.h sockios.h spinlock.h statfs.h stat.h \ termbits.h termios.h tlb.h types.h user.h" EQUAL="auxvec.h cputime.h device.h emergency-restart.h futex.h \ ioctl.h irq_regs.h kdebug.h local.h mutex.h percpu.h \ sections.h topology.h" NOMUUFILES="anchor.h bootstd.h coldfire.h commproc.h dbg.h \ elia.h flat.h m5206sim.h m520xsim.h m523xsim.h m5249sim.h \ m5272sim.h m527xsim.h m528xsim.h m5307sim.h m532xsim.h \ m5407sim.h m68360_enet.h m68360.h m68360_pram.h m68360_quicc.h \ m68360_regs.h MC68328.h MC68332.h MC68EZ328.h MC68VZ328.h \ mcfcache.h mcfdma.h mcfmbus.h mcfne.h mcfpci.h mcfpit.h \ mcfsim.h mcfsmc.h mcftimer.h mcfuart.h mcfwdebug.h \ nettel.h quicc_simple.h smp.h" FILES="atomic.h bitops.h bootinfo.h bug.h bugs.h byteorder.h cache.h \ cacheflush.h checksum.h current.h delay.h div64.h \ dma-mapping.h dma.h elf.h entry.h fb.h fpu.h hardirq.h hw_irq.h io.h \ irq.h kmap_types.h machdep.h mc146818rtc.h mmu.h mmu_context.h \ module.h page.h page_offset.h param.h pci.h pgalloc.h \ pgtable.h processor.h ptrace.h scatterlist.h segment.h \ setup.h sigcontext.h siginfo.h signal.h string.h system.h swab.h \ thread_info.h timex.h tlbflush.h traps.h uaccess.h ucontext.h \ unaligned.h unistd.h" mergefile() { BASE=${1%.h} git mv ${SOURCE}/$1 ${TARGET}/${BASE}_no.h git mv ${TARGET}/$1 ${TARGET}/${BASE}_mm.h cat << EOF > ${TARGET}/$1 EOF git add ${TARGET}/$1 } set -e mkdir -p ${TARGET} git mv include/asm-m68k/* ${TARGET} rmdir include/asm-m68k git rm ${SOURCE}/Kbuild for F in $INCLUDE $EQUAL; do git rm ${SOURCE}/$F done for F in $NOMUUFILES; do git mv ${SOURCE}/$F ${TARGET}/$F done for F in $FILES ; do mergefile $F done rmdir arch/m68knommu/include/asm rmdir arch/m68knommu/include Cc: Arnd Bergmann <arnd@arndb.de> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* | [CVE-2009-0029] Rename old_readdir to sys_old_readdirHeiko Carstens2009-01-141-1/+1
| | | | | | | | | | | | This way it matches the generic system call name convention. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* | m68k: Fix --build-id breakage for sun3Al Viro2009-01-121-0/+1
| | | | | | | | | | | | | | | | Counterpart of commit 08a3db94f2a36c28278922732bc281c1722ceb18 ("m68k: Add NOTES to init data so its discarded at boot") for sun3 build. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* | m68k: Wire up sys_restart_syscallAndreas Schwab2009-01-122-1/+16
| | | | | | | | | | | | | | Make restart blocks working, required for proper syscall restarting. Signed-off-by: Andreas Schwab <schwab@suse.de> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* | m68k: sun3 core - Kill warn_unused_result warningsGeert Uytterhoeven2009-01-121-3/+6
| | | | | | | | | | | | | | warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* | m68k: mvme147 core - Kill warn_unused_result warningsGeert Uytterhoeven2009-01-121-2/+3
| | | | | | | | | | | | | | warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* | m68k: mac core - Kill warn_unused_result warningsGeert Uytterhoeven2009-01-126-34/+54
| | | | | | | | | | | | | | warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* | m68k: hp300 core - Kill warn_unused_result warningsGeert Uytterhoeven2009-01-121-1/+2
| | | | | | | | | | | | | | warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* | m68k: atari core - Kill warn_unused_result warningsGeert Uytterhoeven2009-01-123-6/+13
| | | | | | | | | | | | | | warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* | m68k: apollo core - Kill warn_unused_result warningsGeert Uytterhoeven2009-01-121-1/+2
| | | | | | | | | | | | | | warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* | m68k: amiga core - Kill warn_unused_result warningsGeert Uytterhoeven2009-01-123-6/+13
| | | | | | | | | | | | | | warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* | m68k: Kill several external declarations in source filesGeert Uytterhoeven2009-01-1218-56/+14Star
| | | | | | | | | | | | | | | | | | | | - Replace external declarations by proper includes where availiable. The accesses to some symbols had to be modified, as before they were declared using e.g. "extern int _end", while asm-generic/sections.h uses e.g. "extern char _end[]" - Remove unused or superfluous external declarations Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* | m68k: Add vmlinux.lds to .gitignoreKars de Jong2009-01-121-0/+1
|/ | | | | | | | arch/m68k/kernel/.gitignore: Added vmlinux.lds to .gitignore file because it shouldn't be tracked. Signed-off-by: Kars de Jong <jongk@linux-m68k.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* trivial: fix an -> a typos in documentation and commentsFrederik Schwarzer2009-01-061-1/+1
| | | | | | | | | | | It is always "an" if there is a vowel _spoken_ (not written). So it is: "an hour" (spoken vowel) but "a uniform" (spoken 'j') Signed-off-by: Frederik Schwarzer <schwarzerf@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* trivial: fix then -> than typos in comments and documentationFrederik Schwarzer2009-01-061-1/+1
| | | | | | | - (better, more, bigger ...) then -> (...) than Signed-off-by: Frederik Schwarzer <schwarzerf@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* m68k: fix recursive dependency in KconfigSam Ravnborg2009-01-021-1/+0Star
| | | | | | | | | | | | We had a recursive dependency between MMU_MOTOROLA and MMU_SUN3 Fix it by dropping the unused dependencies on MMU_MOTOROLA. MMU_MOTOROLA is set to y only using select so any dependencies are anyway ignored. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Roman Zippel <zippel@linux-m68k.org>
* take init_fs to saner placeAl Viro2009-01-011-1/+0Star
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* m68k: fix trigraph ignored warning in setox.SFinn Thain2008-12-281-2/+2
| | | | | | | | Fix the warning: trigraph ??/ ignored, use -trigraphs to enable caused by the recent removal of -traditional option. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* m68k: mac baboon interrupt enable/disableFinn Thain2008-12-282-15/+35
| | | | | | | | | | | | | No-one seems to know how to mask individual baboon interrupts, so we just mask the umbrella IRQ. This will work as long as only the IDE driver uses the baboon chip (it can't deadlock). Use mac_enable_irq/mac_disable_irq rather than enable_irq/disable_irq because the latter routines count the depth of nested calls which triggers a warning and call trace because IRQ_NUBUS_C is enabled twice in a row (once when the baboon handler is registered, and once when the IDE IRQ is registered). Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* m68k: machw.h cleanupFinn Thain2008-12-284-4/+0Star
| | | | | | | | Remove some more cruft from machw.h and drop the #include where it isn't needed. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* m68k: Mac via cleanup and commentryFinn Thain2008-12-281-47/+32Star
| | | | | | | No behavioural changes, just cleanups and better documentation. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* m68k: Reinstate mac rtcFinn Thain2008-12-282-9/+10
| | | | | | | | | Reinstate the Mac hardware clock for CUDA ADB and Mac II ADB models. It doesn't work properly on Mac IIsi ADB and PMU ADB yet, so leave them out. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* m68k: Update defconfigs for 2.6.28-rc7Geert Uytterhoeven2008-12-0212-612/+828
| | | | Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* m68k: Fix off-by-one in m68k_setup_user_interrupt()Geert Uytterhoeven2008-11-151-1/+1
| | | | | | | | | | | | | commit 69961c375288bdab7604e0bb1c8d22999bb8a347 ("[PATCH] m68k/Atari: Interrupt updates") added a BUG_ON() with an incorrect upper bound comparison, which causes an early crash on VME boards, where IRQ_USER is 8, cnt is 192 and NR_IRQS is 200. Reported-by: Stephen N Chivers <schivers@csc.com.au> Tested-by: Kars de Jong <jongk@linux-m68k.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: stable@kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* proc: move /proc/stram to m68k-specific codeAlexey Dobriyan2008-10-231-6/+22
| | | | Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
* proc: move /proc/hardware to m68k-specific codeAlexey Dobriyan2008-10-239-86/+55Star
| | | | Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
* arch/m68k/bvme6000/rtc.c: remove duplicated includeHuang Weiyi2008-10-201-1/+0Star
| | | | | | | | | | Removed duplicated include file <linux/smp_lock.h> in arch/m68k/bvme6000/rtc.c. Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* container freezer: implement freezer cgroup subsystemMatt Helsley2008-10-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements a new freezer subsystem in the control groups framework. It provides a way to stop and resume execution of all tasks in a cgroup by writing in the cgroup filesystem. The freezer subsystem in the container filesystem defines a file named freezer.state. Writing "FROZEN" to the state file will freeze all tasks in the cgroup. Subsequently writing "RUNNING" will unfreeze the tasks in the cgroup. Reading will return the current state. * Examples of usage : # mkdir /containers/freezer # mount -t cgroup -ofreezer freezer /containers # mkdir /containers/0 # echo $some_pid > /containers/0/tasks to get status of the freezer subsystem : # cat /containers/0/freezer.state RUNNING to freeze all tasks in the container : # echo FROZEN > /containers/0/freezer.state # cat /containers/0/freezer.state FREEZING # cat /containers/0/freezer.state FROZEN to unfreeze all tasks in the container : # echo RUNNING > /containers/0/freezer.state # cat /containers/0/freezer.state RUNNING This is the basic mechanism which should do the right thing for user space task in a simple scenario. It's important to note that freezing can be incomplete. In that case we return EBUSY. This means that some tasks in the cgroup are busy doing something that prevents us from completely freezing the cgroup at this time. After EBUSY, the cgroup will remain partially frozen -- reflected by freezer.state reporting "FREEZING" when read. The state will remain "FREEZING" until one of these things happens: 1) Userspace cancels the freezing operation by writing "RUNNING" to the freezer.state file 2) Userspace retries the freezing operation by writing "FROZEN" to the freezer.state file (writing "FREEZING" is not legal and returns EIO) 3) The tasks that blocked the cgroup from entering the "FROZEN" state disappear from the cgroup's set of tasks. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: export thaw_process] Signed-off-by: Cedric Le Goater <clg@fr.ibm.com> Signed-off-by: Matt Helsley <matthltc@us.ibm.com> Acked-by: Serge E. Hallyn <serue@us.ibm.com> Tested-by: Matt Helsley <matthltc@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>