Balazs Gerofi
6959d5ead4
HFI: port to SFI driver version 10.5.1.0.2
2018-06-13 00:31:38 +09:00
Dominique Martinet
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
Dominique Martinet
67529f21ff
hfi1: replace true/false defines by stddef include
2018-06-13 00:31:37 +09:00
Dominique Martinet
f5ced648ef
hfi1/user_exp_rcv: rework main loop
...
New loop now takes into account pages not physically contiguous.
Also some minor improvements, e.g. make the spin_lock used more locally,
reuse a group we had if we had one, etc.
2018-06-13 00:31:36 +09:00
Dominique Martinet
23f178d718
hfi1/user_exp_rcv/clear: implement TID_FREE ioctl
2018-06-13 00:31:36 +09:00
Dominique Martinet
e64d89cd48
hfi: bases for user_exp_rcv
...
This implements a skeleton setup function and call it on ioctl
Many missing points:
- missing pci mapping to make setup work
- no clear (passed to linux, so will likely bug out)
- missing locks/safe-guards
Conflicts:
kernel/Makefile.build.in
2018-06-13 00:31:35 +09:00
Dominique Martinet
7366da4390
Fix other warnings
...
Most were harmless, but the change to ACCESS_ONCE from volatile
cast is probably useful.
Expanding macro, we basically went from:
m = (volatile struct sdma_vl_map *)dd->sdma_map;
to
m = *(volatile struct sdma_vl_map **)&(dd->sdma_map);
i.e. the explicit lookup is at a different level.
2018-06-13 00:31:35 +09:00
Dominique Martinet
2dc85ee417
user_sdma: fix use of uninitialized variable (vl)
...
This defines a single field in hfi1_pportdata, getting offset
from dwarf headers -- need to compute that at configure time
2018-06-13 00:31:35 +09:00
Balazs Gerofi
73cc07f98e
ioctl() investigation - TO RESET
2018-06-13 00:31:35 +09:00
Balazs Gerofi
122588bc4d
mcexec: --enable-hfi1 to runtime enable/disable HFI1 driver
...
Conflicts:
executer/user/mcexec.c
2018-06-13 00:31:34 +09:00
Balazs Gerofi
5b5191ef64
HFI1: move txreq kmalloc cache header into CPU local variable
2018-06-13 00:31:34 +09:00
Balazs Gerofi
4dea1842e0
kmalloc cache: embed cache pointer into kmalloc_header
...
Conflicts:
kernel/mem.c
2018-06-13 00:31:34 +09:00
Balazs Gerofi
d35fa16417
HFI1: more detailed profiling (disabled by default)
2018-06-13 00:31:33 +09:00
Balazs Gerofi
28eb649056
Generic lock-free kmalloc cache implementation
...
Conflicts:
kernel/mem.c
2018-06-13 00:31:33 +09:00
Balazs Gerofi
62e438a0aa
HFI1: do device ioremap() mappings in per-process fashion
2018-06-13 00:31:32 +09:00
Aram Santogidis
c1d2db6a73
fixed sdma_vl_map, just in case it will be used in the future
2018-06-13 00:31:32 +09:00
Balazs Gerofi
6e289e8d9f
HFI1: txreq cache and profiling
2018-06-13 00:31:32 +09:00
Balazs Gerofi
3b5363c533
HFI1: use original length calculation in sdma_send_pkts()
...
Conflicts:
kernel/include/hfi1/sdma.h
2018-06-13 00:31:32 +09:00
Balazs Gerofi
39deff4e10
HFI1: working but a bit slow
2018-06-13 00:31:31 +09:00
Aram Santogidis
640dba627f
Added debugging output. Bugfixes in user_sdma_send_pkts() and sdma_send_txreq().
2018-06-13 00:31:31 +09:00
Aram Santogidis
ae368d97d4
Implemented a replacement for sdma_txadd_page()
...
Conflicts:
kernel/user_sdma.c
2018-06-13 00:31:31 +09:00
Aram Santogidis
076e6b9b12
Enabled _sdma_txadd_daddr()
2018-06-13 00:31:30 +09:00
Aram Santogidis
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
Aram Santogidis
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
Aram Santogidis
1c4a6568e6
Updated sdma.h (fixed struct sdma_engine size)
2018-06-13 00:31:30 +09:00
Aram Santogidis
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
Aram Santogidis
c4ca4ae3ab
Updated struct hfi1_devdata and confirmed its size
2018-06-13 00:31:30 +09:00
Aram Santogidis
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
Aram Santogidis
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
Aram Santogidis
5cf884ef41
Updated TODO tags and struct hfi1_user_sdma_pkt_q
2018-06-13 00:31:29 +09:00
Aram Santogidis
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
Aram Santogidis
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
Balazs Gerofi
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
Aram Santogidis
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
Balazs Gerofi
b2c8cc50dc
open(): record private_data
...
Conflicts:
kernel/syscall.c
2018-06-13 00:31:28 +09:00
Dominique Martinet
42bbf5f2a4
process/vm: implement access_ok()
2018-06-13 00:31:27 +09:00
Balazs Gerofi
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
Balazs Gerofi
aed099fbcb
kmalloc_header: use signed integer for target CPU id
...
Cherry-pick of bdb2d4d8fa94f9c0268cdfdb21af1a2a5c2bcae5
2018-06-13 00:31:27 +09:00
Balazs Gerofi
f3d18eb9de
fileobj/devobj: record path name (originally by Takagi-san)
2018-05-14 17:46:52 +09:00
Dominique Martinet
c52f7a5b49
syscall wait4: add _WALL (POSTK_DEBUG_ARCH_DEP_44)
...
Needed by strace -f
2018-05-11 09:22:54 +09:00
Ken Sato
c107d1fdf9
fix: Bug for measuring rss in fork()
...
refs: #1032
2018-03-15 14:29:16 +09:00
Masamichi Takagi
fe42481d6f
Add allow_oversubscribe kernel argument
...
It's not allowed in the default setting.
Execute mcreboot.sh with -O option to allow it.
refs #1072
2018-03-10 13:08:38 +09:00
Masamichi Takagi
65667709a8
Fix thread status race-condition caused by hold_thread() in do_kill() and terminate()
...
Conflicts:
arch/x86_64/kernel/syscall.c
kernel/syscall.c
2018-03-09 17:53:17 +09:00
Ken Sato
a224bf648a
fix: Bug for getrusage return incorrect ru_maxrss
...
refs #1032
2018-03-07 13:09:24 +09:00
Ken Sato
c260b5c6f3
xpmem: support for fork()
...
refs #925
2018-02-22 09:37:48 +09:00
Ken Sato
228f8f8533
Wait for LWK to run at shutdown.
...
refs #898
refs #928
2018-02-06 10:40:12 +09:00
Tomoki Shirasawa
4bb65494e9
signal: When the process receives a termination signal, it first terminates mcexec.
...
refs #863
refs #870
2018-01-23 14:40:38 +09:00
Tomoki Shirasawa
2f2b3cdc6f
signal: interrupt_syscall is called by the core executing the thread that recieved the signal.
...
refs #999
2018-01-23 14:31:04 +09:00
Masamichi Takagi
9a5d5feb9c
time(): Split into architecture dependent functions
...
This fixes the bug reported as POSTK_ARCH_DEP_13 and POSTK_DEBUG_ARCH_DEP_13.
2017-12-23 11:36:52 +09:00
Balazs Gerofi
589504dc33
mcreboot: -h to indicate halting CPU in idle threads (e.g., in futex_wait())
2017-12-18 11:22:15 +09:00