Commit Graph

1166 Commits

Author SHA1 Message Date
0b9a657a01 HFI: support IFS 10.8-0
Change-Id: Iebc0e2b50faf464efcc5134cc40dc52e0bd6eea7
2019-04-15 11:26:39 +09:00
d979444049 file_ops: add missing break statement (harmless)
Change-Id: I97982c96623b571d94348fd4a3df6bb0aeb515e9
2018-07-26 05:06:16 +00:00
6c0bb9e576 HFI1: Range-check proc->fd_priv_table[]
sockioctl01.c in LTP calls ioctl(1025, ...) and causes kernel page-fault without
the range-check.

Change-Id: I4117783e20107f274c0857b09745f12a5cc5ce2f
2018-06-13 00:31:44 +09:00
3f26e44f85 mremap: Don't premap destination vm_range
mremap works in the following steps:
(1) Unmap the destination memory area
(2) Create a new vm_range with add_process_memory_range
(3) Move the PTEs of the source range to the destination range by using move_pte_range

The problem is that step (3) expects the destination doesn't have any physical pages,
but step (2) premaps the destination when the optimization of premapping anonymous
map is turned on.

Change-Id: Ieeebd799b7169b9a6f6f658c204c31f49817030f
2018-06-13 00:31:44 +09:00
09f63483cc OFP: temporary ANON mmap() rewrite 2018-06-13 00:31:43 +09:00
f7b277a623 HFI1: use ihk_mc_pt_lookup_fault_pte() in SDMA/exp receive 2018-06-13 00:31:43 +09:00
91d732308d HFI1: shorten lock held spin for SDMA status changes 2018-06-13 00:31:43 +09:00
166c6105ef queued_spin_lock: fix compatibility with Linux 2018-06-13 00:31:43 +09:00
5a2f8388a6 HFI1: handle Linux queued_spin_locks in the receive path as well 2018-06-13 00:31:42 +09:00
8164b63fc2 HFI1: port to IFS 10.7 rpv1 and support queued_spin_lock in Linux 3.10.0-693.11.6 2018-06-13 00:31:42 +09:00
af22ce62d2 HFI1: clean up and eliminate dead code in user SDMA 2018-06-13 00:31:42 +09:00
2eca75ead8 HFI1: clean up dead code in file ops 2018-06-13 00:31:42 +09:00
22992780cf HFI1: use kmalloc_cache_free() in clear_tid_node() for TID nodes 2018-06-13 00:31:42 +09:00
3043591e9a hfi1_user_exp_rcv_overlapping(): fix return value when overlapping 2018-06-13 00:31:42 +09:00
7e7c0f9ed3 init_process_vm(): remove vm_range_numa_policy_list (merge fix) 2018-06-13 00:31:42 +09:00
7193f165cc HFI1: fix page border iteration bug in hfi1_user_exp_rcv_setup() 2018-06-13 00:31:42 +09:00
c8c42576fd HFI1: increase lock timeout in sdma_send_txlist() 2018-06-13 00:31:42 +09:00
0412e1fcc6 HFI1: add generated user_sdma_request and user_sdma_txreq headers 2018-06-13 00:31:41 +09:00
238e346586 HFI1: use DWARF generated headers for user_sdma_request and user_sdma_txreq 2018-06-13 00:31:41 +09:00
0e57c715ad HFI1: look at DW_AT_upper_bound for resolving array size from DWARF info 2018-06-13 00:31:41 +09:00
3facd3dcca HFI1: release lock in sdma_send_txlist() when SDMA ring is full 2018-06-13 00:31:41 +09:00
ec5328de69 HFI1: refactor sdma_select_user_engine() 2018-06-13 00:31:41 +09:00
880dd6ddb2 page_fault_handler(): enable on-demand mapping of Linux ioremap area 2018-06-13 00:31:41 +09:00
b08331b21a ihk_hfi1_common.h: use IRQ restore unlock in spin_unlock 2018-06-13 00:31:41 +09:00
c196c996dd HFI: add dd to generated sdma_engine 2018-06-13 00:31:41 +09:00
20e179f6dc sdma_select_user_engine(): refactor selection code 2018-06-13 00:31:40 +09:00
32fbc015f5 HFI1: eliminate lots of dead code 2018-06-13 00:31:40 +09:00
558c250bb3 HFI1: generate headers for sdma_state and sdma_engine structures 2018-06-13 00:31:40 +09:00
96ea2d3658 dwarf-extract: support enumerations 2018-06-13 00:31:40 +09:00
9c91298ccf do_munmap(): hook to HFI1 deferred unmap 2018-06-13 00:31:40 +09:00
b08da83a51 hfi1_file_ioctl(): execute HFI1_IOCTL_TID_INVAL_READ locally 2018-06-13 00:31:40 +09:00
fcc8310454 HFI1: track receive TIDs in a tree 2018-06-13 00:31:40 +09:00
96b8b30516 MM: facility for deferred munmap()
Conflicts:
	kernel/process.c
2018-06-13 00:31:40 +09:00
521e0dc707 HFI1: add a bunch of fields to hfi1_devdata and hfi1_filedata for receive TID handling, do necessary mappings in hfi1_map_device_addresses() 2018-06-13 00:31:40 +09:00
e2e773d883 HFI: fix tidinfo and length calculation in program_rcvarray() 2018-06-13 00:31:39 +09:00
04d22d90a3 do_mmap(): debug message cosmetics 2018-06-13 00:31:39 +09:00
f6405081a6 page_fault_handler(): map Linux ioremap addresses on demand (disabled) 2018-06-13 00:31:39 +09:00
5bea237581 HFI1: make kmalloc caches per-CPU and pre-allocate at boot time 2018-06-13 00:31:39 +09:00
33ad55e72b kmalloc_cache_prealloc(): specify nr_elems as argument 2018-06-13 00:31:39 +09:00
6848c2ecf7 HFI1: move tid_rb_node to header 2018-06-13 00:31:39 +09:00
79f9a2d31a HFI1: don't print at open() time 2018-06-13 00:31:39 +09:00
2900ce20f7 HFI1: hfi1_unmap_device_addresses() at process terminate time 2018-06-13 00:31:39 +09:00
002b78372d open(): ignore /proc/sys/vm/overcommit_memory 2018-06-13 00:31:38 +09:00
5fce5e4e3c hfi1 generated headers: add missing filedata file 2018-06-13 00:31:38 +09:00
7a1ad31183 HFI: call hfi1_map_device_addresses() at initialization time
Conflicts:
	kernel/syscall.c
2018-06-13 00:31:38 +09:00
54bdb3419d hfi1 generated headers:
- split headers into one file per struct
 - add filedata
 - fix s/modprobe/modinfo/ for guessed .ko path
2018-06-13 00:31:38 +09:00
03fed4d1c8 automatically generate hfi structs from dwarf info 2018-06-13 00:31:38 +09:00
6279f69f5c compiler.h: take in recent linux updates for newer gcc support
Had to remove from original compiler-gcc:
 - things that deal with types, e.g. READ_ONCE macro and friends;
 - #define barrier(). This one would be better there at some point.

hfi1: remove ACCESS_ONCE from hfi1 header
2018-06-13 00:31:38 +09:00
6959d5ead4 HFI: port to SFI driver version 10.5.1.0.2 2018-06-13 00:31:38 +09:00
a5aa68744f hfi1: use kmalloc_cache for tid_rb_node allocations 2018-06-13 00:31:38 +09:00