df2c993721
fileobj_create: only allocate new object if one wasn't found
...
Change-Id: I5e12439333bf0c9cc7dad6e3cf410bfee616f77e
2018-07-26 04:41:03 +00:00
9d587dcbe8
fileobj_release: do not notify linux of surplus refs
...
Surplus refs on the linux side will not change anything, so spare
ourselves a message.
The final message will free all refs at once when the object is
destroyed.
Change-Id: Ie086b9dda663729962037c67e8233370509234a5
2018-07-26 04:08:43 +00:00
9a79920ef9
Static analysis fixes
...
Change-Id: I7bc42545a1c497f704d7bfa6ea1b7e3893acc697
2018-07-26 03:36:50 +00:00
130751ff66
fileobj: avoid memory leak in path recording
2018-05-14 17:46:52 +09:00
f3d18eb9de
fileobj/devobj: record path name (originally by Takagi-san)
2018-05-14 17:46:52 +09:00
249bda4aef
fileobj: use MCS locks for per-file page hash
2018-05-14 17:46:52 +09:00
d649d6fc2d
Include mbind support (this is a rebase commit to merge into development)
2017-11-27 11:16:53 +09:00
aa7cb970c4
ihk_os_getrusage(): Compile LWK-specific results in mcctrl
...
1. User asks mcctrl for the result via ihk_os_getrusage() with passing void *
2. mcctrl compiles the results and passes them to the user
3. User interprets it by using the type defined in the LWK-specific header
2017-09-20 15:03:45 +09:00
9989f41fd3
add arm64 support
...
- add arm64 dependent codes with GICv3 and SVE support
- fix bugs based on architecture separation requests
2017-09-05 15:06:27 +09:00
74f15783d2
ihk_os_getrusage(): Add per-page-size memory usage accounting
2017-08-17 12:49:34 +09:00
184c2d311c
fileobj_flush_page(): Not flush when MF_HOST_RELEASED
2017-08-17 12:49:34 +09:00
d7b8e7f4f4
fix to count user pages
...
refs #864
2017-07-14 09:51:39 +09:00
5758dba7cf
use spinlocks in MCS rwlock
2017-06-08 14:16:29 +09:00
12e7ed644f
fileobj_flush_page(): do not offload for files with MF_HOST_RELEASED flag set
2017-06-05 22:20:25 +09:00
e306b1e838
fileobj_create(): fix --mpol-shm-premap for Quadrant mode
2017-05-31 08:33:29 +09:00
9b5ccb5a33
Pre-map file mappings from /dev/shm (--mpol-shm-premap mcexec argument)
2017-05-23 20:00:06 +09:00
746b459e7f
profile: more detailed profiling of file PFs
2017-05-23 19:58:52 +09:00
105d373765
PROFILE_page_fault_XXX: more detailed page PF profiling
2017-05-23 19:57:08 +09:00
e936b2ebe1
memobj_release: don't call syscall_generic_forwarding after process termination
...
refs #816
2017-03-10 12:58:47 +09:00
1ff0afe6fb
devobj/fileobj: do not try to free memory for device file mappings
2017-01-08 14:16:10 +09:00
4437ecc69a
do_mmap(): indicate user level allocations for anonymous mappings
2016-12-31 10:09:49 +09:00
9635a628a9
fileobj/shmobj/devobj: add file size to memobj
2016-12-19 12:55:12 +09:00
ff37ff9ccf
memobj: synch prefetch among processes
2016-12-18 21:12:38 +09:00
5b7bcb7170
fileobj: use read/write MCS locks in page hash
2016-12-18 21:12:37 +09:00
bce10e11e4
fileobj: rewrite for scalability using per-file page hash
2016-12-18 21:12:37 +09:00
11125b0d68
fileobj and shmemobj: delete unused variables
2016-10-14 21:34:30 +09:00
f4db8b96de
fileobj/shmobj: release pages correctly according to dynamic page frame management
2016-10-14 21:34:30 +09:00
8eb3bf3559
physical page management: eliminate static page frame array and
...
maintain page structures dynamically covering only file mappings.
use hash table for address <-> page structure conversion.
2016-10-14 21:34:29 +09:00
9b82f1a52c
use ihk_mc_alloc/free_pages() and eliminate direct calls to low level routines
2016-10-14 21:34:29 +09:00
648bacc90f
device file mappings: communicate map flags and fault missing translations
2016-06-24 12:44:59 -07:00
bd7dddd415
fileobj: implement lookup_page method
2016-03-23 19:14:28 +09:00
04e193de13
refactoring process structures
2015-10-13 23:04:08 +09:00
bf12a5c45e
Introduction of write-combined memory type mappings.
...
Introduction of VR_WRITE_COMBINED, PTATTR_WRITE_COMBINED and modification
to the memobj's get_page() interface so that Linux communicates back mapping
flags (such as write-combined).
2015-03-05 16:03:21 +09:00
16af976a71
support msync() system call. refs #382
...
Msync(2) of this version writes only the pages which the calling process
modified. Modifications of the other processes are not written.
2015-02-18 11:52:15 +09:00
0942bf0ce0
make dkprintf() evaluate its parameters always
...
Parameters of dkprintf() should be evaluated even if dkprintf() is
disabled. Because this enables to find expression of parameter obsolete
and to avoid unnecessary compiler warnings such as "unused variable".
2014-12-22 16:58:03 +09:00
9efb5e4fc5
add memobj_has_pager()
2014-07-07 18:11:36 +09:00
ce7af5839d
keep page.count valid through its life cycle
2014-05-07 21:24:45 +09:00
29c7d40005
use atomic operations for manipulating page.count
2014-05-07 21:24:45 +09:00
03521e9c2c
add copyrights
2013-11-14 16:49:40 +09:00
bbbc6e1570
add shared mapped file (in progress)
...
implemented:
- Pages can be shared between maps.
- A change made to a map is written to the file, at munmap().
not yet implemented:
- VM operation during page IO execution.
Because page IO is executed with VM's lock.
- Page IO, which does not change a file size with any case.
When munmap() races with truncate(), the file size may be changed
illegally.
2013-11-11 18:18:33 +09:00
27172ad413
support private mapped file
2013-10-15 12:30:41 +09:00