Kirill A. Shutemov
09cbfeaf1a
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
...
PAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} macros were introduced *long* time
ago with promise that one day it will be possible to implement page
cache with bigger chunks than PAGE_SIZE.
This promise never materialized. And unlikely will.
We have many places where PAGE_CACHE_SIZE assumed to be equal to
PAGE_SIZE. And it's constant source of confusion on whether
PAGE_CACHE_* or PAGE_* constant should be used in a particular case,
especially on the border between fs and mm.
Global switching to PAGE_CACHE_SIZE != PAGE_SIZE would cause to much
breakage to be doable.
Let's stop pretending that pages in page cache are special. They are
not.
The changes are pretty straight-forward:
- <foo> << (PAGE_CACHE_SHIFT - PAGE_SHIFT) -> <foo>;
- <foo> >> (PAGE_CACHE_SHIFT - PAGE_SHIFT) -> <foo>;
- PAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} -> PAGE_{SIZE,SHIFT,MASK,ALIGN};
- page_cache_get() -> get_page();
- page_cache_release() -> put_page();
This patch contains automated changes generated with coccinelle using
script below. For some reason, coccinelle doesn't patch header files.
I've called spatch for them manually.
The only adjustment after coccinelle is revert of changes to
PAGE_CAHCE_ALIGN definition: we are going to drop it later.
There are few places in the code where coccinelle didn't reach. I'll
fix them manually in a separate patch. Comments and documentation also
will be addressed with the separate patch.
virtual patch
@@
expression E;
@@
- E << (PAGE_CACHE_SHIFT - PAGE_SHIFT)
+ E
@@
expression E;
@@
- E >> (PAGE_CACHE_SHIFT - PAGE_SHIFT)
+ E
@@
@@
- PAGE_CACHE_SHIFT
+ PAGE_SHIFT
@@
@@
- PAGE_CACHE_SIZE
+ PAGE_SIZE
@@
@@
- PAGE_CACHE_MASK
+ PAGE_MASK
@@
expression E;
@@
- PAGE_CACHE_ALIGN(E)
+ PAGE_ALIGN(E)
@@
expression E;
@@
- page_cache_get(E)
+ get_page(E)
@@
expression E;
@@
- page_cache_release(E)
+ put_page(E)
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-04-04 10:41:08 -07:00
..
accessibility
acpi
Power management and ACPI material for v4.6-rc1, part 2
2016-03-24 22:59:58 -07:00
amba
android
ata
Merge branch 'for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
2016-03-18 20:06:46 -07:00
atm
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2016-03-17 21:38:27 -07:00
auxdisplay
base
Power management and ACPI material for v4.6-rc1, part 2
2016-03-24 22:59:58 -07:00
bcma
block
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
bluetooth
bus
arm[64] perf updates for 4.6:
2016-03-21 13:14:16 -07:00
cdrom
char
Revert "ppdev: use new parport device model"
2016-03-25 09:02:13 -07:00
clk
The clk changes for this release cycle are mostly dominated by
2016-03-23 06:06:45 -07:00
clocksource
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-03-24 10:32:42 -07:00
connector
cpufreq
Power management and ACPI material for v4.6-rc1, part 2
2016-03-24 22:59:58 -07:00
cpuidle
cpuidle: menu: Fall back to polling if next timer event is near
2016-03-21 15:50:28 +01:00
crypto
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2016-03-23 06:12:39 -07:00
dca
devfreq
PM / devfreq: Spelling s/frequnecy/frequency/
2016-03-17 02:30:16 +01:00
dio
dma
asm-generic changes for 4.6
2016-03-24 23:13:48 -07:00
dma-buf
dma-buf: Update docs for SYNC ioctl
2016-03-21 09:26:45 +01:00
edac
EDAC queue for 4.6
2016-03-16 08:36:55 -07:00
eisa
extcon
firewire
IEEE 1394 subsystem patch:
2016-03-25 08:52:25 -07:00
firmware
kernel: add kcov code coverage
2016-03-22 15:36:02 -07:00
fmc
fpga
gpio
gpio: xgene: Prevent NULL pointer dereference
2016-03-30 10:39:39 +02:00
gpu
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
hid
drivers/hid/uhid.c: check write() bitness using in_compat_syscall
2016-03-22 15:36:02 -07:00
hsi
hv
Char/Misc patches for 4.6-rc1
2016-03-17 13:47:50 -07:00
hwmon
hwmon: (max1111) Return -ENODEV from max1111_read_channel if not instantiated
2016-03-27 10:37:48 -07:00
hwspinlock
hwtracing
i2c
Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
2016-03-22 12:47:40 -07:00
ide
ide: palm_bk3710: test clock rate to avoid division by 0
2016-03-20 16:59:27 -04:00
idle
intel_idle: Support for Intel Xeon Phi Processor x200 Product Family
2016-03-23 16:19:38 -04:00
iio
- New Drivers
2016-03-18 10:15:11 -07:00
infiniband
Merge branch 'for-next-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
2016-03-23 15:57:39 -07:00
input
Merge branch 'akpm' (patches from Andrew)
2016-03-25 16:59:11 -07:00
iommu
IOMMU Updates for Linux v4.6
2016-03-22 11:57:43 -07:00
ipack
irqchip
irqchip/mbigen: Make CONFIG_HISILICON_IRQ_MBIGEN a hidden option
2016-03-23 12:02:29 +01:00
isdn
isdn: Use ktime_t instead of 'struct timeval'
2016-03-20 16:47:13 -04:00
leds
platform-drivers-x86 for 4.6-1
2016-03-23 17:20:59 -07:00
lguest
lightnvm
lightnvm: do not load L2P table if not supported
2016-03-18 18:10:38 -07:00
macintosh
mailbox
Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration
2016-03-23 06:09:15 -07:00
mcb
md
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
media
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
memory
MTD updates for v4.6
2016-03-24 19:57:15 -07:00
memstick
drivers/memstick/host/r592.c: avoid gcc-6 warning
2016-03-25 16:37:42 -07:00
message
mfd
- New Drivers
2016-03-18 10:15:11 -07:00
misc
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
mmc
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
mtd
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
net
asm-generic changes for 4.6
2016-03-24 23:13:48 -07:00
nfc
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2016-03-19 10:05:34 -07:00
ntb
NTB: Remove _addr functions from ntb_hw_amd
2016-03-26 11:44:33 -04:00
nubus
nvdimm
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
nvme
nvme: avoid cqe corruption when update at the same time as read
2016-03-22 10:27:29 -06:00
nvmem
of
DeviceTree updates for 4.6:
2016-03-19 15:15:07 -07:00
oprofile
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
parisc
PCI changes for the v4.6 merge window:
2016-03-16 14:45:55 -07:00
parport
pci
Revert "PCI: dra7xx: Mark driver as broken"
2016-03-22 07:50:11 -05:00
pcmcia
perf
drivers/perf: arm_pmu: avoid NULL dereference when not using devicetree
2016-03-21 11:36:17 +00:00
phy
pinctrl
Merge branch 'akpm' (patches from Andrew)
2016-03-18 19:26:54 -07:00
platform
platform-drivers-x86 for 4.6-1
2016-03-23 17:20:59 -07:00
pnp
power
Power management and ACPI material for v4.6-rc1, part 2
2016-03-25 16:55:37 -07:00
powercap
pps
ps3
ptp
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-03-15 12:13:56 -07:00
pwm
pwm: omap-dmtimer: Add debug message for effective period and duty cycle
2016-03-23 17:11:48 +01:00
rapidio
rapidio: add mport char device driver
2016-03-22 15:36:02 -07:00
ras
regulator
- New Drivers
2016-03-18 10:15:11 -07:00
remoteproc
reset
rpmsg
rtc
RTC for 4.6 #2
2016-03-24 22:49:08 -07:00
s390
virtio/vhost: new features, performance improvements, cleanups
2016-03-20 13:28:18 -07:00
sbus
scsi
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
sfi
sh
sn
soc
ARM: SoC driver updates for v4.6
2016-03-20 15:40:32 -07:00
spi
dmaengine updates for 4.6
2016-03-17 12:34:54 -07:00
spmi
ssb
staging
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
target
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
2016-03-22 12:41:14 -07:00
tc
thermal
Thermal: Ignore invalid trip points
2016-03-18 14:10:57 +08:00
thunderbolt
tty
xen: features and fixes for 4.6-rc0
2016-03-22 12:55:17 -07:00
uio
usb
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
uwb
vfio
VFIO updates for v4.6-rc1
2016-03-17 13:05:09 -07:00
vhost
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
2016-03-22 12:41:14 -07:00
video
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
virt
virtio
virtio/vhost: new features, performance improvements, cleanups
2016-03-20 13:28:18 -07:00
vlynq
vme
w1
watchdog
hpwdt: use nmi_panic() when kernel panics in NMI handler
2016-03-22 15:36:02 -07:00
xen
xen: features and fixes for 4.6-rc0
2016-03-22 12:55:17 -07:00
zorro
Kconfig
Makefile