Skip to content

Commit 268bb0c

Browse files
committed
sanitize <linux/prefetch.h> usage
Commit e66eed6 ("list: remove prefetching from regular list iterators") removed the include of prefetch.h from list.h, which uncovered several cases that had apparently relied on that rather obscure header file dependency. So this fixes things up a bit, using grep -L linux/prefetch.h $(git grep -l '[^a-z_]prefetchw*(' -- '*.[ch]') grep -L 'prefetchw*(' $(git grep -l 'linux/prefetch.h' -- '*.[ch]') to guide us in finding files that either need <linux/prefetch.h> inclusion, or have it despite not needing it. There are more of them around (mostly network drivers), but this gets many core ones. Reported-by: Stephen Rothwell <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
1 parent 257313b commit 268bb0c

File tree

35 files changed

+32
-5
lines changed

35 files changed

+32
-5
lines changed

arch/ia64/hp/common/sba_iommu.c

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#include <linux/crash_dump.h>
3838
#include <linux/iommu-helper.h>
3939
#include <linux/dma-mapping.h>
40+
#include <linux/prefetch.h>
4041

4142
#include <asm/delay.h> /* ia64_get_itc() */
4243
#include <asm/io.h>

arch/ia64/mm/fault.c

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include <linux/interrupt.h>
1111
#include <linux/kprobes.h>
1212
#include <linux/kdebug.h>
13+
#include <linux/prefetch.h>
1314

1415
#include <asm/pgtable.h>
1516
#include <asm/processor.h>

arch/powerpc/lib/sstep.c

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include <linux/kernel.h>
1212
#include <linux/kprobes.h>
1313
#include <linux/ptrace.h>
14+
#include <linux/prefetch.h>
1415
#include <asm/sstep.h>
1516
#include <asm/processor.h>
1617
#include <asm/uaccess.h>

arch/sh/kernel/cpu/sh4/sq.c

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include <linux/vmalloc.h>
2121
#include <linux/mm.h>
2222
#include <linux/io.h>
23+
#include <linux/prefetch.h>
2324
#include <asm/page.h>
2425
#include <asm/cacheflush.h>
2526
#include <cpu/sq.h>

arch/x86/include/asm/uaccess.h

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
#include <linux/errno.h>
77
#include <linux/compiler.h>
88
#include <linux/thread_info.h>
9-
#include <linux/prefetch.h>
109
#include <linux/string.h>
1110
#include <asm/asm.h>
1211
#include <asm/page.h>

arch/x86/include/asm/uaccess_32.h

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
*/
77
#include <linux/errno.h>
88
#include <linux/thread_info.h>
9-
#include <linux/prefetch.h>
109
#include <linux/string.h>
1110
#include <asm/asm.h>
1211
#include <asm/page.h>

arch/x86/include/asm/uaccess_64.h

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
*/
77
#include <linux/compiler.h>
88
#include <linux/errno.h>
9-
#include <linux/prefetch.h>
109
#include <linux/lockdep.h>
1110
#include <asm/alternative.h>
1211
#include <asm/cpufeature.h>

arch/x86/mm/fault.c

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include <linux/mmiotrace.h> /* kmmio_handler, ... */
1313
#include <linux/perf_event.h> /* perf_sw_event */
1414
#include <linux/hugetlb.h> /* hstate_index_to_shift */
15+
#include <linux/prefetch.h> /* prefetchw */
1516

1617
#include <asm/traps.h> /* dotraplinkage, ... */
1718
#include <asm/pgalloc.h> /* pgd_*(), ... */

drivers/misc/sgi-gru/grufault.c

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include <linux/io.h>
3434
#include <linux/uaccess.h>
3535
#include <linux/security.h>
36+
#include <linux/prefetch.h>
3637
#include <asm/pgtable.h>
3738
#include "gru.h"
3839
#include "grutables.h"

drivers/misc/sgi-gru/grumain.c

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include <linux/device.h>
2929
#include <linux/list.h>
3030
#include <linux/err.h>
31+
#include <linux/prefetch.h>
3132
#include <asm/uv/uv_hub.h>
3233
#include "gru.h"
3334
#include "grutables.h"

drivers/net/acenic.c

+1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
#include <linux/sockios.h>
6969
#include <linux/firmware.h>
7070
#include <linux/slab.h>
71+
#include <linux/prefetch.h>
7172

7273
#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)
7374
#include <linux/if_vlan.h>

drivers/net/ehea/ehea_main.c

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
#include <linux/memory.h>
4242
#include <asm/kexec.h>
4343
#include <linux/mutex.h>
44+
#include <linux/prefetch.h>
4445

4546
#include <net/ip.h>
4647

drivers/staging/pohmelfs/inode.c

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include <linux/slab.h>
3030
#include <linux/statfs.h>
3131
#include <linux/writeback.h>
32+
#include <linux/prefetch.h>
3233

3334
#include "netfs.h"
3435

drivers/usb/gadget/goku_udc.c

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
#include <linux/device.h>
3939
#include <linux/usb/ch9.h>
4040
#include <linux/usb/gadget.h>
41+
#include <linux/prefetch.h>
4142

4243
#include <asm/byteorder.h>
4344
#include <asm/io.h>

drivers/usb/gadget/imx_udc.c

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
#include <linux/delay.h>
3131
#include <linux/timer.h>
3232
#include <linux/slab.h>
33+
#include <linux/prefetch.h>
3334

3435
#include <linux/usb/ch9.h>
3536
#include <linux/usb/gadget.h>

drivers/usb/gadget/omap_udc.c

+1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
#include <linux/usb/otg.h>
4545
#include <linux/dma-mapping.h>
4646
#include <linux/clk.h>
47+
#include <linux/prefetch.h>
4748

4849
#include <asm/byteorder.h>
4950
#include <asm/io.h>

drivers/usb/gadget/pxa25x_udc.c

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
#include <linux/seq_file.h>
4747
#include <linux/debugfs.h>
4848
#include <linux/io.h>
49+
#include <linux/prefetch.h>
4950

5051
#include <asm/byteorder.h>
5152
#include <asm/dma.h>

drivers/usb/gadget/pxa27x_udc.c

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include <linux/irq.h>
3333
#include <linux/gpio.h>
3434
#include <linux/slab.h>
35+
#include <linux/prefetch.h>
3536

3637
#include <asm/byteorder.h>
3738
#include <mach/hardware.h>

drivers/usb/host/isp1362-hcd.c

+1
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
#include <linux/pm.h>
8282
#include <linux/io.h>
8383
#include <linux/bitmap.h>
84+
#include <linux/prefetch.h>
8485

8586
#include <asm/irq.h>
8687
#include <asm/system.h>

drivers/usb/host/sl811-hcd.c

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
#include <linux/usb/sl811.h>
4848
#include <linux/usb/hcd.h>
4949
#include <linux/platform_device.h>
50+
#include <linux/prefetch.h>
5051

5152
#include <asm/io.h>
5253
#include <asm/irq.h>

drivers/video/udlfb.c

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include <linux/fb.h>
2828
#include <linux/vmalloc.h>
2929
#include <linux/slab.h>
30+
#include <linux/prefetch.h>
3031
#include <linux/delay.h>
3132
#include <video/udlfb.h>
3233
#include "edid.h"

fs/btrfs/extent_io.c

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include <linux/swap.h>
1111
#include <linux/writeback.h>
1212
#include <linux/pagevec.h>
13+
#include <linux/prefetch.h>
1314
#include "extent_io.h"
1415
#include "extent_map.h"
1516
#include "compat.h"

fs/dcache.c

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#include <linux/hardirq.h>
3636
#include <linux/bit_spinlock.h>
3737
#include <linux/rculist_bl.h>
38+
#include <linux/prefetch.h>
3839
#include "internal.h"
3940

4041
/*

fs/logfs/dev_bdev.c

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include <linux/blkdev.h>
1111
#include <linux/buffer_head.h>
1212
#include <linux/gfp.h>
13+
#include <linux/prefetch.h>
1314

1415
#define PAGE_OFS(ofs) ((ofs) & (PAGE_SIZE-1))
1516

include/asm-generic/xor.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
1414
*/
1515

16-
#include <asm/processor.h>
16+
#include <linux/prefetch.h>
1717

1818
static void
1919
xor_8regs_2(unsigned long bytes, unsigned long *p1, unsigned long *p2)

kernel/rcutiny.c

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#include <linux/init.h>
3636
#include <linux/time.h>
3737
#include <linux/cpu.h>
38+
#include <linux/prefetch.h>
3839

3940
/* Controls for rcu_kthread() kthread, replacing RCU_SOFTIRQ used previously. */
4041
static struct task_struct *rcu_kthread_task;

kernel/rcutree.c

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
#include <linux/kernel_stat.h>
5050
#include <linux/wait.h>
5151
#include <linux/kthread.h>
52+
#include <linux/prefetch.h>
5253

5354
#include "rcutree.h"
5455

mm/page_alloc.c

+1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
#include <trace/events/kmem.h>
5555
#include <linux/ftrace_event.h>
5656
#include <linux/memcontrol.h>
57+
#include <linux/prefetch.h>
5758

5859
#include <asm/tlbflush.h>
5960
#include <asm/div64.h>

mm/prio_tree.c

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
#include <linux/mm.h>
1515
#include <linux/prio_tree.h>
16+
#include <linux/prefetch.h>
1617

1718
/*
1819
* See lib/prio_tree.c for details on the general radix priority search tree

mm/slab.c

+1
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@
115115
#include <linux/debugobjects.h>
116116
#include <linux/kmemcheck.h>
117117
#include <linux/memory.h>
118+
#include <linux/prefetch.h>
118119

119120
#include <asm/cacheflush.h>
120121
#include <asm/tlbflush.h>

mm/vmscan.c

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
#include <linux/delayacct.h>
4343
#include <linux/sysctl.h>
4444
#include <linux/oom.h>
45+
#include <linux/prefetch.h>
4546

4647
#include <asm/tlbflush.h>
4748
#include <asm/div64.h>

net/core/dst.c

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <linux/types.h>
2020
#include <net/net_namespace.h>
2121
#include <linux/sched.h>
22+
#include <linux/prefetch.h>
2223

2324
#include <net/dst.h>
2425

net/core/pktgen.c

+1
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@
156156
#include <linux/wait.h>
157157
#include <linux/etherdevice.h>
158158
#include <linux/kthread.h>
159+
#include <linux/prefetch.h>
159160
#include <net/net_namespace.h>
160161
#include <net/checksum.h>
161162
#include <net/ipv6.h>

net/core/skbuff.c

+1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
#include <linux/init.h>
5858
#include <linux/scatterlist.h>
5959
#include <linux/errqueue.h>
60+
#include <linux/prefetch.h>
6061

6162
#include <net/protocol.h>
6263
#include <net/dst.h>

tools/perf/util/include/linux/list.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ static inline void list_del_range(struct list_head *begin,
2323
* @head: the head for your list.
2424
*/
2525
#define list_for_each_from(pos, head) \
26-
for (; prefetch(pos->next), pos != (head); pos = pos->next)
26+
for (; pos != (head); pos = pos->next)
2727
#endif

0 commit comments

Comments
 (0)