d35fa16417
HFI1: more detailed profiling (disabled by default)
2018-06-13 00:31:33 +09:00
6406a0df6b
HFI1: compute SDMA pkt length taking large pages into account
2018-06-13 00:31:33 +09:00
52e8f03b4b
HFI1: store base physical address in iovec if physically contiguous
2018-06-13 00:31:33 +09:00
b071a3f32c
HFI1: use fast_memcpy() in header fillings
...
Conflicts:
kernel/user_sdma.c
2018-06-13 00:31:33 +09:00
90258f00bd
HFI1: use generic kmalloc cache for user_sdma_txreqs and req tids
2018-06-13 00:31:33 +09:00
28eb649056
Generic lock-free kmalloc cache implementation
...
Conflicts:
kernel/mem.c
2018-06-13 00:31:33 +09:00
744ebacf65
HFI1: more pre-allocation in txreq cache
2018-06-13 00:31:33 +09:00
62e438a0aa
HFI1: do device ioremap() mappings in per-process fashion
2018-06-13 00:31:32 +09:00
5ac582a678
user_sdma_send_pkts(): unlikely() around slow path condition
2018-06-13 00:31:32 +09:00
51bc28acca
sdma_select_user_engine(): hash on CPU number
2018-06-13 00:31:32 +09:00
c43654d69b
user_sdma_send_pkts(): handle page sizes correctly
2018-06-13 00:31:32 +09:00
c1d2db6a73
fixed sdma_vl_map, just in case it will be used in the future
2018-06-13 00:31:32 +09:00
aeef55d1b0
kmalloc(): try to get from remote_free list when regular is empty
2018-06-13 00:31:32 +09:00
6e289e8d9f
HFI1: txreq cache and profiling
2018-06-13 00:31:32 +09:00
3b5363c533
HFI1: use original length calculation in sdma_send_pkts()
...
Conflicts:
kernel/include/hfi1/sdma.h
2018-06-13 00:31:32 +09:00
60f6862db2
HFI1: use local write if private data is present; fix lenght alignment
2018-06-13 00:31:31 +09:00
39deff4e10
HFI1: working but a bit slow
2018-06-13 00:31:31 +09:00
7f03c18d4d
Real run test version (update_tail, kregbase+offset crash)
2018-06-13 00:31:31 +09:00
640dba627f
Added debugging output. Bugfixes in user_sdma_send_pkts() and sdma_send_txreq().
2018-06-13 00:31:31 +09:00
ae368d97d4
Implemented a replacement for sdma_txadd_page()
...
Conflicts:
kernel/user_sdma.c
2018-06-13 00:31:31 +09:00
99c216d91e
HFI1: fix kregbase/piobase types to avoid warnings
2018-06-13 00:31:31 +09:00
3c357dc30a
HFI1: fix completion mapping
2018-06-13 00:31:31 +09:00
37866e61ab
HFI1: map completion queues
2018-06-13 00:31:31 +09:00
076e6b9b12
Enabled _sdma_txadd_daddr()
2018-06-13 00:31:30 +09:00
fa6db686b4
Corrected spin_lock_irqsave() spin_unlock_irqrestore() definitions
...
Conflicts:
kernel/include/hfi1/ihk_hfi1_common.h
2018-06-13 00:31:30 +09:00
74a636a612
Updated structs to use completion{} and wait_queue_head_t{} and added struct size checkes in hfi1_aio_write()
2018-06-13 00:31:30 +09:00
1c4a6568e6
Updated sdma.h (fixed struct sdma_engine size)
2018-06-13 00:31:30 +09:00
7d2e2f93b0
HFI1: map piobase and rcvarray_wc
2018-06-13 00:31:30 +09:00
7005110697
Updated and confirmed struct iowait{} and struct hfi1_user_sdma_pkt_q {}
...
Conflicts:
kernel/include/hfi1/ihk_hfi1_common.h
2018-06-13 00:31:30 +09:00
c4ca4ae3ab
Updated struct hfi1_devdata and confirmed its size
2018-06-13 00:31:30 +09:00
b024a486b9
Updated hfi1_filedata {} and confirmed its size against the original on Linux
...
Conflicts:
kernel/include/hfi1/hfi.h
2018-06-13 00:31:30 +09:00
fe4c461f2f
Updated kcalloc/kmalloc calls and enabled sdma_select_user_engine dependencies
...
Conflicts:
kernel/include/hfi1/ihk_hfi1_common.h
2018-06-13 00:31:29 +09:00
b60a980088
hfi1_user_sdma_process_request(): map HFI1 kregbase
2018-06-13 00:31:29 +09:00
ec66229063
HFI1: adjust sdma_select_user_engine()
...
Conflicts:
kernel/user_sdma.c
2018-06-13 00:31:29 +09:00
b875b5186f
spinlock: make increment compatible with XPPSL Linux (v3.10)
2018-06-13 00:31:29 +09:00
5cf884ef41
Updated TODO tags and struct hfi1_user_sdma_pkt_q
2018-06-13 00:31:29 +09:00
64e2639adc
* The relevant files have been modified in order to compile with McKernel.
...
Conflicts:
kernel/Makefile.build.in
2018-06-13 00:31:29 +09:00
14b360e867
* Added the original files of the driver as a basis for comparison
...
Conflicts:
kernel/include/hfi1/sdma.h
kernel/sdma.c
kernel/user_sdma.c
2018-06-13 00:31:29 +09:00
4a0e389953
HFI1: comments to keep in mind
...
Conflicts:
kernel/include/hfi1/sdma.h
kernel/sdma.c
kernel/user_sdma.c
2018-06-13 00:31:28 +09:00
34363c2b68
close(): clear fd_priv_table
2018-06-13 00:31:28 +09:00
8a1d756cb1
Added private_data structure in process
...
Conflicts:
executer/user/mcexec.c
kernel/include/process.h
kernel/process.c
2018-06-13 00:31:28 +09:00
e36abe57e7
open(): check on private_data for /dev/hfi
2018-06-13 00:31:28 +09:00
b2c8cc50dc
open(): record private_data
...
Conflicts:
kernel/syscall.c
2018-06-13 00:31:28 +09:00
b9b4a4fe36
search_free_space(): manage region->map_end internally
...
Cherry-pick of 87f72548a232a1626f2ca103da7f1ce62d139359
Conflicts:
kernel/syscall.c
2018-06-13 00:31:28 +09:00
4b652c9353
atobytes(): restore postfix before return
2018-06-13 00:31:28 +09:00
60ac94cbb9
process/vm/access_ok: fix edge checks.
...
Add check for start/end being larger than the range we're checking.
Fix corner case where the access_check() was done on last vm range, and
we would be looking beyond last element (null deref)
2018-06-13 00:31:28 +09:00
42bbf5f2a4
process/vm: implement access_ok()
2018-06-13 00:31:27 +09:00
e29a40331d
partitioned execution: pass process rank to LWK
...
Cherry-pick of d2d134d5e6a4b16a34d55d31b14614a2a91ecf47
Conflicts:
kernel/include/process.h
2018-06-13 00:31:27 +09:00
655de2cd82
ihk_mc_get_linux_kernel_pgt(): add declaration
...
Cherry-pick of caff967a442907dd75f8cd878b9f2ea7608c77b2
2018-06-13 00:31:27 +09:00
205747594b
Exclude areas not assigned to Mckernel from direct map of all phys. memory
...
It's enabled by adding -s to mcreboot.sh.
Cherry-pick of the following commit:
commit b5c13ce51a5a4926c2cf11c817cd0d369ac4402d
Author: Katsuya Horigome <katsuya.horigome.rj@ps.hitachi-solutions.com >
Date: Mon Nov 20 09:40:41 2017 +0900
Include measures to prevent memory destruction on Linux side (This is rebase commit for merging to development+hfi)
2018-06-13 00:31:27 +09:00