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
898708b8b4
spinlock: rewrite spinlock to use Linux ticket head/tail format
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
89c5aaa9e9
hfi1_user_exp_rcv_setup(): rewrite main loop
2018-06-13 00:31:37 +09:00
15422d886f
hif1_file_ioctl(): use dkprintf()
2018-06-13 00:31:37 +09:00
f139bef0cb
mmap(): remove force large page extension (meant to be RESET)
2018-06-13 00:31:37 +09:00
de82cf8779
hfi1/user_exp_rcv/setup: keep track of position within page
...
ihk_mc_pt_lookup_pte + pte_get_phys will get us the physical address
for the start of the page we're looking at.
Re-offset it by position within buffer.
2018-06-13 00:31:37 +09:00
662895c020
hfi1/user_exp_rcv: explicitely call hfi1_map_device_addresses
...
There were cases where nobody else did this mapping for us
2018-06-13 00:31:37 +09:00
d23939da8c
process/vm: fix lookup_process_memory_range (again)
...
That optimistically going left was a more serious bug than just
last iteration, we could just pass by a match and continue down
the tree if the match was not a leaf.
Fix the actual algorithm issue
Conflicts:
kernel/process.c
2018-06-13 00:31:37 +09:00