linux/drivers
Brian King 38f1852759 [PATCH] block: CFQ refcounting fix
I ran across a memory leak related to the cfq scheduler. The cfq
init function increments the refcnt of the associated request_queue.

This refcount gets decremented in cfq's exit function. Since blk_cleanup_queue
only calls the elevator exit function when its refcnt goes to zero, the
request_q never gets cleaned up. It didn't look like other io schedulers were
incrementing this refcnt, so I removed the refcnt increment and it fixed the
memory leak for me.

To reproduce the problem, simply use cfq and use the scsi_host scan sysfs
attribute to scan "- - -" repeatedly on a scsi host and watch the memory
vanish.

Signed-off-by: Brian King <brking@us.ibm.com>
Acked-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-07 16:57:39 -07:00
..
acorn
acpi [PATCH] acpi_shutdown: Only prepare for power off on power_off 2005-08-27 10:11:40 -07:00
atm [ATM]: Fix dereference of uninitialized pointer in zatm 2005-09-02 12:18:03 -07:00
base [PATCH] modified firmware_class.c to support no hotplug 2005-09-07 16:57:26 -07:00
block [PATCH] block: CFQ refcounting fix 2005-09-07 16:57:39 -07:00
bluetooth [Bluetooth]: Move packet type into the SKB control buffer 2005-08-29 15:55:13 -07:00
cdrom [PATCH] Make MODULE_DEVICE_TABLE work for vio devices 2005-08-30 13:31:56 +10:00
char [PATCH] tpm: fix tpm_atmel.c on ICH6 2005-09-07 16:57:36 -07:00
cpufreq
crypto
dio
eisa
fc4
firmware [PATCH] dcdbas: add Dell Systems Management Base Driver with sysfs support 2005-09-07 16:57:27 -07:00
hwmon [PATCH] hwmon: (3/3) pc87360 driver update 2005-09-05 09:26:55 -07:00
i2c [PATCH] I2C: Fix sgi_xfer return value 2005-09-05 09:26:54 -07:00
ide [PATCH] swsusp: prevent disks from spinning down and up 2005-09-05 00:06:16 -07:00
ieee1394 [PATCH] I2C: Drop debug eeprom dump code in pcilynx 2005-09-05 09:26:52 -07:00
infiniband [PATCH] IB: move include files to include/rdma 2005-08-26 20:37:38 -07:00
input [PATCH] mips: kludge envdev to build for 64-bit MIPS with 32-bit compat 2005-09-05 00:06:08 -07:00
isdn [PATCH] isdn_v110 warning fix 2005-09-07 16:57:36 -07:00
macintosh [PATCH] swsusp: switch pm_message_t to struct 2005-09-05 00:06:16 -07:00
mca
md [PATCH] kill bio->bi_set 2005-09-07 16:57:20 -07:00
media [PATCH] Remove non-arch consumers of asm/segment.h 2005-09-07 16:57:34 -07:00
message
mfd [MFD] Add SA11x0 MCP platform device support 2005-08-18 10:10:46 +01:00
misc [ARM] 2866/1: add i.MX set_mctrl / get_mctrl functions 2005-08-31 21:48:47 +01:00
mmc [MMC] support for mmc chip select in wbsd 2005-09-03 16:45:49 +01:00
mtd [PATCH] detect soft lockups 2005-09-07 16:57:17 -07:00
net [PATCH] 3c59x: read current link status from phy 2005-09-07 16:57:30 -07:00
nubus
oprofile
parisc
parport [PATCH] parport: add NetMOS 9805 support 2005-09-07 16:57:28 -07:00
pci [PATCH] x86/x86_64: deferred handling of writes to /proc/irqxx/smp_affinity 2005-09-07 16:57:15 -07:00
pcmcia [PATCH] yenta: make ToPIC95 bridges work with 16bit cards 2005-09-07 16:57:21 -07:00
pnp [PATCH] PNP: make pnp_dbg conditional directly on CONFIG_PNP_DEBUG 2005-09-07 16:57:25 -07:00
s390 [PATCH] s390: disconnected 3270 console 2005-09-05 00:06:29 -07:00
sbus [SPARC64]: Use drivers/Kconfig 2005-08-30 21:46:19 -07:00
scsi Merge branch 'upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev 2005-09-05 05:50:36 -07:00
serial [PATCH] Remove non-arch consumers of asm/segment.h 2005-09-07 16:57:34 -07:00
sh
sn
tc
telephony
usb Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2005-09-06 00:32:12 -07:00
video [PATCH] Remove non-arch consumers of asm/segment.h 2005-09-07 16:57:34 -07:00
w1 [NETLINK]: Add "groups" argument to netlink_kernel_create 2005-08-29 16:01:11 -07:00
zorro
Kconfig [MFD] Add multimedia communication port core support 2005-08-18 10:06:59 +01:00
Makefile [MFD] Add multimedia communication port core support 2005-08-18 10:06:59 +01:00