linux/drivers/block
Michal Hocko 19809c2da2 mm, vmalloc: use __GFP_HIGHMEM implicitly
__vmalloc* allows users to provide gfp flags for the underlying
allocation.  This API is quite popular

  $ git grep "=[[:space:]]__vmalloc\|return[[:space:]]*__vmalloc" | wc -l
  77

The only problem is that many people are not aware that they really want
to give __GFP_HIGHMEM along with other flags because there is really no
reason to consume precious lowmemory on CONFIG_HIGHMEM systems for pages
which are mapped to the kernel vmalloc space.  About half of users don't
use this flag, though.  This signals that we make the API unnecessarily
too complex.

This patch simply uses __GFP_HIGHMEM implicitly when allocating pages to
be mapped to the vmalloc space.  Current users which add __GFP_HIGHMEM
are simplified and drop the flag.

Link: http://lkml.kernel.org/r/20170307141020.29107-1-mhocko@kernel.org
Signed-off-by: Michal Hocko <mhocko@suse.com>
Reviewed-by: Matthew Wilcox <mawilcox@microsoft.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: David Rientjes <rientjes@google.com>
Cc: Cristopher Lameter <cl@linux.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-05-08 17:15:13 -07:00
..
aoe block: Use pointer to backing_dev_info from request_queue 2017-02-02 08:20:48 -07:00
drbd mm, vmalloc: use __GFP_HIGHMEM implicitly 2017-05-08 17:15:13 -07:00
mtip32xx mtip32xx: convert internal commands to regular block infrastructure 2017-05-03 08:09:19 -06:00
paride pd: don't check blk_execute_rq return value. 2017-04-20 12:16:10 -06:00
rsxx rsxx: remove the discard_zeroes_data flag 2017-04-08 11:25:38 -06:00
xen-blkback xen: modify xenstore watch event interface 2017-02-09 11:26:49 -05:00
zram zram: reduce load operation in page_same_filled 2017-05-03 15:52:11 -07:00
amiflop.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
ataflop.c ataflop: switch from req->errors to req->error_count 2017-04-20 12:16:10 -06:00
brd.c libnvdimm for 4.12 2017-05-05 18:49:20 -07:00
cciss_cmd.h
cciss_scsi.c cciss: Remove kmalloc cast 2017-02-22 11:54:49 -07:00
cciss_scsi.h
cciss.c scsi: introduce a result field in struct scsi_request 2017-04-20 12:16:10 -06:00
cciss.h SCSI misc on 20170220 2017-02-21 11:51:42 -08:00
cryptoloop.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
DAC960.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
DAC960.h
floppy.c floppy: switch from req->errors to req->error_count 2017-04-20 12:16:10 -06:00
Kconfig libnvdimm for 4.12 2017-05-05 18:49:20 -07:00
loop.c blk-mq: update ->init_request and ->exit_request prototypes 2017-05-02 07:52:08 -06:00
loop.h loop: zero-fill bio on the submitting cpu 2017-04-20 12:16:10 -06:00
Makefile block: remove the osdblk driver 2017-04-19 09:10:51 -06:00
nbd.c Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2017-05-06 11:25:08 -07:00
null_blk.c blk-mq: remove the error argument to blk_mq_complete_request 2017-04-20 12:16:10 -06:00
pktcdvd.c scsi: introduce a result field in struct scsi_request 2017-04-20 12:16:10 -06:00
ps3disk.c block: fold cmd_type into the REQ_OP_ space 2017-01-31 14:00:44 -07:00
ps3vram.c block: convert to device_add_disk() 2016-06-27 12:26:08 -07:00
rbd_types.h rbd: RBD_V{1,2}_DATA_FORMAT macros 2017-02-20 12:16:15 +01:00
rbd.c blk-mq: update ->init_request and ->exit_request prototypes 2017-05-02 07:52:08 -06:00
skd_main.c skd: implement trivial scsi ioctls directly 2017-01-31 10:53:03 -07:00
skd_s1120.h skd: fix formatting in skd_s1120.h 2013-11-08 09:10:30 -07:00
smart1,2.h
sunvdc.c sunvdc: Add support for setting physical sector size 2017-02-23 08:24:08 -08:00
swim3.c swim3: remove (commented out) printing of req->errors 2017-04-20 12:16:10 -06:00
swim_asm.S
swim.c swim: stop sharing request queue across multiple gendisks 2017-03-28 15:06:58 -06:00
sx8.c block: fold cmd_type into the REQ_OP_ space 2017-01-31 14:00:44 -07:00
umem.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
umem.h
virtio_blk.c blk-mq: update ->init_request and ->exit_request prototypes 2017-05-02 07:52:08 -06:00
xen-blkfront.c blk-mq: remove the error argument to blk_mq_complete_request 2017-04-20 12:16:10 -06:00
xsysace.c block: fold cmd_type into the REQ_OP_ space 2017-01-31 14:00:44 -07:00
z2ram.c block: remove struct request buffer member 2014-04-15 14:03:02 -06:00