1
linux/Documentation
Robin Holt 34441427aa revert "procfs: provide stack information for threads" and its fixup commits
Originally, commit d899bf7b ("procfs: provide stack information for
threads") attempted to introduce a new feature for showing where the
threadstack was located and how many pages are being utilized by the
stack.

Commit c44972f1 ("procfs: disable per-task stack usage on NOMMU") was
applied to fix the NO_MMU case.

Commit 89240ba0 ("x86, fs: Fix x86 procfs stack information for threads on
64-bit") was applied to fix a bug in ia32 executables being loaded.

Commit 9ebd4eba7 ("procfs: fix /proc/<pid>/stat stack pointer for kernel
threads") was applied to fix a bug which had kernel threads printing a
userland stack address.

Commit 1306d603f ('proc: partially revert "procfs: provide stack
information for threads"') was then applied to revert the stack pages
being used to solve a significant performance regression.

This patch nearly undoes the effect of all these patches.

The reason for reverting these is it provides an unusable value in
field 28.  For x86_64, a fork will result in the task->stack_start
value being updated to the current user top of stack and not the stack
start address.  This unpredictability of the stack_start value makes
it worthless.  That includes the intended use of showing how much stack
space a thread has.

Other architectures will get different values.  As an example, ia64
gets 0.  The do_fork() and copy_process() functions appear to treat the
stack_start and stack_size parameters as architecture specific.

I only partially reverted c44972f1 ("procfs: disable per-task stack usage
on NOMMU") .  If I had completely reverted it, I would have had to change
mm/Makefile only build pagewalk.o when CONFIG_PROC_PAGE_MONITOR is
configured.  Since I could not test the builds without significant effort,
I decided to not change mm/Makefile.

I only partially reverted 89240ba0 ("x86, fs: Fix x86 procfs stack
information for threads on 64-bit") .  I left the KSTK_ESP() change in
place as that seemed worthwhile.

Signed-off-by: Robin Holt <holt@sgi.com>
Cc: Stefani Seibold <stefani@seibold.net>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-05-11 17:33:41 -07:00
..
ABI USB: Fix documentation for avoid_reset_quirk 2010-03-19 07:24:11 -07:00
accounting Documentation/: fix warnings from -Wmissing-prototypes in HOSTCFLAGS 2009-09-23 07:39:28 -07:00
acpi ACPI: support customizing ACPI control methods at runtime 2009-12-11 01:50:08 -05:00
aoe
arm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-03-12 16:04:50 -08:00
auxdisplay includecheck fix: Documentation, cfag12864b-example.c 2009-09-24 07:20:57 -07:00
blackfin Blackfin: add an example showing how to use the gptimers API 2009-12-15 00:15:04 -05:00
block Documentation: fix block/biodoc.txt dma mapping description 2010-03-08 09:11:07 +01:00
blockdev The DRBD driver 2009-10-01 21:17:49 +02:00
cdrom ide: doc: remove compilation options section from ide-cd documentation 2009-12-13 20:41:53 -08:00
cgroups cgroups: fix procs documentation 2010-04-24 11:31:25 -07:00
connector include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
console doc: fix console doc typo 2010-02-24 13:51:32 +01:00
cpu-freq [CPUFREQ] Processor Clocking Control interface driver 2010-01-13 10:55:16 -05:00
cpuidle
cris
crypto async_tx: add support for asynchronous RAID6 recovery operations 2009-08-29 19:09:27 -07:00
development-process
device-mapper dm: document when snapshot has finished merging 2010-03-06 02:29:56 +00:00
DocBook libata: Fix several inaccuracies in developer's guide 2010-05-05 14:48:27 -04:00
driver-model Fix spelling of 'platform' in comments and doc 2010-02-05 12:22:34 +01:00
dvb V4L/DVB: get_dvb_firmware: Fix typo, sort list of components 2010-02-26 15:10:56 -03:00
early-userspace
fault-injection lkdtm: add debugfs access and loosen KPROBE ties 2010-03-06 11:26:32 -08:00
fb fbdev: rename imacfb.txt to efifb.txt and change imacfb to efifb. 2010-04-07 08:38:02 -07:00
filesystems revert "procfs: provide stack information for threads" and its fixup commits 2010-05-11 17:33:41 -07:00
firmware_class
frv
hwmon Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
i2c i2c-core: Erase pointer to clientdata on removal 2010-05-04 11:09:27 +02:00
i2o
ia64 Documentation/: fix warnings from -Wmissing-prototypes in HOSTCFLAGS 2009-09-23 07:39:28 -07:00
ide
infiniband IB: Fix typo in ipoib.txt 2009-12-09 14:21:36 -08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2010-05-05 07:53:18 -07:00
ioctl Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client 2010-03-19 09:43:06 -07:00
isdn gigaset: small documentation improvement 2010-02-26 01:24:22 -08:00
ja_JP block: rename CONFIG_LBD to CONFIG_LBDAF 2009-06-19 08:08:50 +02:00
kbuild kbuild: generate modules.builtin 2009-12-12 13:08:16 +01:00
kdump
ko_KR
kvm KVM: trivial document fixes 2010-03-01 12:35:43 -03:00
laptops Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-03-12 16:04:50 -08:00
lguest lguest: remove unneeded zlib.h include in example launcher 2010-02-24 14:22:22 +10:30
m68k
make
mips
misc-devices ad525x_dpot: new driver for AD525x digital potentiometers 2009-12-15 08:53:25 -08:00
mn10300
mtd
namespaces
netlabel
networking net: corrected documentation for hardware time stamping 2010-04-07 21:52:07 -07:00
parisc
PCI Documentation: rename PCI/PCI-DMA-mapping.txt to DMA-API-HOWTO.txt 2010-03-24 16:31:20 -07:00
pcmcia pcmcia: use ops_mutex for rsrc_{mgr,nonstatic} locking 2010-02-17 17:48:24 +01:00
power Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
powerpc powerpc/fsl: add device tree binding for QE firmware 2010-03-26 22:09:57 -06:00
pps LinuxPPS: core support 2009-06-18 13:04:04 -07:00
prctl
RCU rcu: Update docs for rcu_access_pointer and rcu_dereference_protected 2010-04-14 12:20:12 +02:00
s390 Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
scheduler sched: Documentation/sched-rt-group: Fix style issues & bump version 2009-06-21 13:12:46 +02:00
scsi Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
serial ldisc: new dcd_change() method for line disciplines 2010-03-12 15:52:43 -08:00
sh
sound ALSA: hda - Update document about MSI and interrupts 2010-04-01 18:08:29 +02:00
sparc
spi spi: spidev_test gives error upon 1-byte transfer 2010-04-29 16:40:30 -06:00
sysctl memcg: handle panic_on_oom=always case 2010-03-12 15:52:37 -08:00
telephony
thermal thermal: add sanity check for the passive attribute 2009-11-05 18:18:10 -05:00
timers Documentation/timers/: split txt and source files 2010-03-12 15:52:35 -08:00
trace Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
uml
usb USB: convert to the runtime PM framework 2010-03-02 14:54:12 -08:00
video4linux V4L/DVB: Documentation: gspca.txt: update known mr97310a cams 2010-02-26 15:11:09 -03:00
vm Documentation/vm/: split txt and source files 2010-03-12 15:52:35 -08:00
w1 ds2482: Discard obsolete detect method 2009-10-04 22:53:41 +02:00
watchdog [WATCHDOG] doc: Fix use of WDIOC_SETOPTIONS ioctl. 2010-04-06 14:23:55 +00:00
wimax
x86 x86, numa: Remove configurable node size support for numa emulation 2010-02-15 14:34:18 -08:00
zh_CN
00-INDEX Bluetooth: Add documentation for Marvell Bluetooth driver 2009-08-22 14:25:32 -07:00
applying-patches.txt
atomic_ops.txt Documentation/atomic_ops.txt: fix sample code 2009-06-16 19:47:52 -07:00
bad_memory.txt
basic_profiling.txt
binfmt_misc.txt
braille-console.txt
bt8xxgpio.txt
btmrvl.txt Bluetooth: Add documentation for Marvell Bluetooth driver 2009-08-22 14:25:32 -07:00
BUG-HUNTING
cachetlb.txt Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-03-01 09:15:15 -08:00
Changes netfilter: xtables: document minimal required version 2009-12-14 14:52:10 +01:00
circular-buffers.txt Document Linux's circular buffering capabilities 2010-03-24 16:31:22 -07:00
CodingStyle
cpu-hotplug.txt cpumask: don't recommend set_cpus_allowed hack in Documentation/cpu-hotplug.txt 2009-12-17 11:43:29 +10:30
cpu-load.txt
cputopology.txt Documentation: ABI: /sys/devices/system/cpu/cpu#/ topology files 2009-10-30 14:59:52 -07:00
credentials.txt
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt ieee1394: update URLs in debugging-via-ohci1394.txt 2009-10-03 09:28:11 +02:00
dell_rbu.txt
devices.txt
DMA-API-HOWTO.txt Documentation: rename PCI/PCI-DMA-mapping.txt to DMA-API-HOWTO.txt 2010-03-24 16:31:20 -07:00
DMA-API.txt Documentation: rename PCI-DMA-mapping.txt to DMA-API-HOWTO.txt 2010-03-12 15:52:43 -08:00
DMA-attributes.txt
DMA-ISA-LPC.txt
dmaengine.txt
dontdiff Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig 2010-02-25 14:43:57 -08:00
dynamic-debug-howto.txt
edac.txt fix typos/grammos in Documentation/edac.txt 2009-12-04 15:39:53 +01:00
eisa.txt doc: fix Defaultd -> Defaults typo in EISA doc 2010-02-05 12:22:39 +01:00
email-clients.txt Documentation/email-clients.txt: update gmail information 2010-03-12 15:52:35 -08:00
feature-removal-schedule.txt V4L/DVB: feature-removal: announce videotext.h removal 2010-05-06 19:20:50 -03:00
flexible-arrays.txt Update flex_arrays.txt 2009-10-15 07:25:20 -06:00
futex-requeue-pi.txt
gcov.txt trivial: fix typo in CONFIG_DEBUG_FS in gcov doc 2009-09-21 15:14:56 +02:00
gpio.txt gpio: introduce gpio_request_one() and friends 2010-03-06 11:26:48 -08:00
highuid.txt
HOWTO Documentation/HOWTO: update git home URL 2010-04-22 15:24:56 -07:00
hw_random.txt
init.txt init/main.c: improve usability in case of init binary failure 2010-03-06 11:26:29 -08:00
initrd.txt
intel_txt.txt x86, intel_txt: Intel TXT boot support 2009-07-21 11:49:06 -07:00
Intel-IOMMU.txt intel-iommu: Kill DMAR_BROKEN_GFX_WA option. 2009-09-19 09:37:23 -07:00
io_ordering.txt
io-mapping.txt
IO-mapping.txt Documentation: fix ioremap return type 2010-01-02 10:09:44 -08:00
iostats.txt
IPMI.txt ipmi: add parameter to limit CPU usage in kipmid 2010-03-12 15:52:39 -08:00
IRQ-affinity.txt
IRQ.txt
irqflags-tracing.txt
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt documentation: update kernel-doc-nano-HOWTO information 2010-01-11 09:34:07 -08:00
kernel-docs.txt
kernel-parameters.txt libata: fix docs, RE port and device of libata.force ID separated by point 2010-04-22 21:52:14 -04:00
keys-request-key.txt
keys.txt KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] 2009-09-02 21:29:22 +10:00
kmemcheck.txt kmemcheck: update documentation 2009-07-01 22:36:22 +02:00
kmemleak.txt kmemleak: add clear command support 2009-09-08 16:36:08 +01:00
kobject.txt kobject: documentation: Update to refer to kset-example.c. 2010-03-19 07:12:20 -07:00
kprobes.txt kprobes: Add documents of jump optimization 2010-02-25 17:49:27 +01:00
kref.txt kref: double kref_put() in my_data_handler() 2009-09-18 09:48:52 -07:00
ldm.txt
leds-class.txt led: document sysfs interface 2009-08-28 15:21:12 -04:00
leds-lp3944.txt leds: LED driver for National Semiconductor LP3944 Funlight Chip 2009-06-23 20:21:38 +01:00
local_ops.txt
lockdep-design.txt lockdep: Fix typos in documentation 2009-08-07 12:03:46 +02:00
lockstat.txt lockstat: Add usage info to Documentation/lockstat.txt 2009-12-06 13:20:02 +01:00
logo.gif
logo.txt
magic-number.txt
Makefile Documentation/fs/: split txt and source files 2010-03-12 15:52:35 -08:00
ManagementStyle
mca.txt
md.txt md: add 'recovery_start' per-device sysfs attribute 2009-12-14 12:58:57 +11:00
memory-barriers.txt Document Linux's circular buffering capabilities 2010-03-24 16:31:22 -07:00
memory-hotplug.txt mm: add numa node symlink for memory section in sysfs 2009-12-15 08:53:17 -08:00
memory.txt Documentation/memory.txt: remove some very outdated recommendations 2009-09-22 07:17:26 -07:00
mono.txt
mutex-design.txt
nmi_watchdog.txt
nommu-mmap.txt nommu: fix malloc performance by adding uninitialized flag 2009-12-15 08:53:24 -08:00
numastat.txt mm: fix NUMA accounting in numastat.txt 2009-09-22 07:17:39 -07:00
oops-tracing.txt docs: Describe the 'C' taint flag in oops-tracing.txt 2009-11-09 09:40:56 +01:00
parport-lowlevel.txt
parport.txt
pi-futex.txt
pnp.txt doc: capitalization and other minor fixes in pnp doc 2010-02-05 12:22:44 +01:00
preempt-locking.txt
printk-formats.txt
prio_tree.txt
rbtree.txt
rfkill.txt rfkill: export persistent attribute in sysfs 2009-06-19 11:50:18 -04:00
robust-futex-ABI.txt futex: documentation: fix inconsistent description of futex list_op_pending 2009-06-18 13:03:56 -07:00
robust-futexes.txt
rt-mutex-design.txt
rt-mutex.txt
rtc.txt rtc: add boot_timesource sysfs attribute 2009-09-23 07:39:46 -07:00
SAK.txt
SecurityBugs
SELinux.txt
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
slow-work.txt SLOW_WORK: Move slow_work's proc file to debugfs 2009-12-01 08:20:31 -08:00
SM501.txt
Smack.txt
sparse.txt
spinlocks.txt Documentation: rw_lock lessons learned 2009-12-14 09:46:56 -08:00
stable_api_nonsense.txt
stable_kernel_rules.txt Documentation: -stable rules: upstream commit ID requirement reworded 2010-04-22 15:24:56 -07:00
SubmitChecklist Documentation/SubmitChecklist: add rule #1 2010-03-12 15:52:35 -08:00
SubmittingDrivers
SubmittingPatches docs: update patch size in SubmittingPatches 2009-10-01 16:11:12 -07:00
svga.txt
sysfs-rules.txt
sysrq.txt sysrq, kdump: make sysrq-c consistent 2009-07-29 19:10:36 -07:00
tomoyo.txt
unaligned-memory-access.txt
unicode.txt
unshare.txt
VGA-softcursor.txt
vgaarbiter.txt vgaarbiter: fix a typo in the vgaarbiter Documentation 2009-12-16 11:28:58 -08:00
video-output.txt
volatile-considered-harmful.txt Documentation/volatile-considered-harmful.txt: correct cpu_relax() documentation 2010-03-24 16:31:20 -07:00
zorro.txt