Message ID | 1485161277-4743-1-git-send-email-christophe.milard@linaro.org |
---|---|
State | Accepted |
Commit | c14ec3dc896e0dd14d0491f09f81ce09e9d53bc2 |
Headers | show |
Bug switched to resolved state with corresponding git hash id for commit or number of commits. I will run some tests in arm vm which should catch this. Maxim. On 23 January 2017 at 11:47, Christophe Milard <christophe.milard@linaro.org > wrote: > Fixing failure due to lack of huge pages. > Fixes: https://bugs.linaro.org/show_bug.cgi?id=2842 > > Signed-off-by: Christophe Milard <christophe.milard@linaro.org> > --- > platform/linux-generic/_ishm.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/platform/linux-generic/_ishm.c b/platform/linux-generic/_ > ishm.c > index f889834..3797f20 100644 > --- a/platform/linux-generic/_ishm.c > +++ b/platform/linux-generic/_ishm.c > @@ -547,7 +547,7 @@ static void *do_map(int block_index, uint64_t len, > uint32_t align, > addr = alloc_fragment(len, block_index, align, &fragment); > if (!addr) { > ODP_ERR("alloc_fragment failed.\n"); > - if (new_block->filename[0]) { > + if (!new_block->external_fd) { > close(*fd); > *fd = -1; > delete_file(new_block); > @@ -562,7 +562,7 @@ static void *do_map(int block_index, uint64_t len, > uint32_t align, > if (mapped_addr == NULL) { > if (flags & _ODP_ISHM_SINGLE_VA) > free_fragment(fragment); > - if (new_block->filename[0]) { > + if (!new_block->external_fd) { > close(*fd); > *fd = -1; > delete_file(new_block); > -- > 2.7.4 > >
On 01/23/17 11:47, Christophe Milard wrote: > Fixing failure due to lack of huge pages. > Fixes: https://bugs.linaro.org/show_bug.cgi?id=2842 > > Signed-off-by: Christophe Milard <christophe.milard@linaro.org> > --- > platform/linux-generic/_ishm.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/platform/linux-generic/_ishm.c b/platform/linux-generic/_ishm.c > index f889834..3797f20 100644 > --- a/platform/linux-generic/_ishm.c > +++ b/platform/linux-generic/_ishm.c > @@ -547,7 +547,7 @@ static void *do_map(int block_index, uint64_t len, uint32_t align, > addr = alloc_fragment(len, block_index, align, &fragment); > if (!addr) { > ODP_ERR("alloc_fragment failed.\n"); > - if (new_block->filename[0]) { > + if (!new_block->external_fd) { > close(*fd); > *fd = -1; > delete_file(new_block); > @@ -562,7 +562,7 @@ static void *do_map(int block_index, uint64_t len, uint32_t align, > if (mapped_addr == NULL) { > if (flags & _ODP_ISHM_SINGLE_VA) > free_fragment(fragment); > - if (new_block->filename[0]) { > + if (!new_block->external_fd) { > close(*fd); > *fd = -1; > delete_file(new_block); > default setting for: Ubuntu 16.04.1 LTS f4df4d24c6 linux-gen: _ishm: fix normal page fallback 03aafc3 helper: remove dependence on test dir 19a457a helper: move thread implementation under platform 7025b1b helper: cleanup Linux rename to thread 0f18e31 configure: use helper configure.m4 3875d6e update API version number from v1.12.0.0 to v1.13.0.024c6 linux-gen: _ishm: fix normal page fallback 03aafc3 helper: remove dependence on test dir 19a457a helper: move thread implementation under platform 7025b1b helper: cleanup Linux rename to thread 0f18e31 configure: use helper configure.m4 3875d6e update API version number from v1.12.0.0 to v1.13.0.0 root@ubuntu:/opt/odp.git# cat ./test/common_plat/performance/odp_pktio_perf.log _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _ishm.c:859:_odp_ishm_reserve():No huge pages, fall back to normal pages. check: /proc/sys/vm/nr_hugepages. _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory FAIL odp_pktio_perf (exit status: 135) root@ubuntu:/opt/odp.git# free total used free shared buff/cache available Mem: 8104960 85984 6965088 8772 1053888 7789072 Swap: 0 0 0 root@ubuntu:/opt/odp.git# mount sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) udev on /dev type devtmpfs (rw,nosuid,relatime,size=4040932k,nr_inodes=1010233,mode=755) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=810496k,mode=755) /dev/vdb1 on / type ext4 (rw,relatime,data=ordered) securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k) tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755) cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd) pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime) efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime) cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids) cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory) cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset) cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio) cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event) cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio) cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb) cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer) cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices) systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct) debugfs on /sys/kernel/debug type debugfs (rw,relatime) hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime) mqueue on /dev/mqueue type mqueue (rw,relatime) fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime) /dev/vdb15 on /boot/efi type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) lxcfs on /var/lib/lxcfs type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other) tmpfs on /run/user/1001 type tmpfs (rw,nosuid,nodev,relatime,size=810496k,mode=700,uid=1001,gid=1001) root@ubuntu:/opt/odp.git#
Hi Maxim. I cannot reproduce that, and your trace seems to indicate the fallback to normal pages does work. I do see the test failure in you log, though, but cannot relate it to ishm (or to anything else). Can you provide me with more log/ help me debug? Christophe My run seem to work: Distributor ID: Ubuntu Description: Ubuntu 16.04.1 LTS Release: 16.04 Codename: xenial root@erachmi-ericsson:~/linaro/ODP/odp# test/common_plat/performance/odp_pktio_perf odp_system_info.c:97:default_huge_page_size():defaut hp size is 2048 kB odp_system_info.c:97:default_huge_page_size():defaut hp size is 2048 kB _ishm.c:1385:_odp_ishm_init_global():Huge pages mount point is: /dev/hugepages _ishmphy.c:63:_odp_ishmphy_book_va():VA Reserved: 0x7f357c7b8000, len=0x20200000 _fdserver.c:277:_odp_fdserver_register_fd():FD client register: pid=1070 key=0, fd=3 _fdserver.c:461:handle_request():storing {ctx=1, key=0}->fd=5 _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _ishm.c:859:_odp_ishm_reserve():No huge pages, fall back to normal pages. check: /proc/sys/vm/nr_hugepages. _fdserver.c:277:_odp_fdserver_register_fd():FD client register: pid=1070 key=1, fd=4 _fdserver.c:461:handle_request():storing {ctx=1, key=1}->fd=6 odp_pool.c:88:odp_pool_init_global(): Pool init global odp_pool.c:89:odp_pool_init_global(): odp_buffer_hdr_t size 352 odp_pool.c:90:odp_pool_init_global(): odp_packet_hdr_t size 488 odp_pool.c:91:odp_pool_init_global(): _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory odp_queue.c:111:odp_queue_init_global():Queue init ... _fdserver.c:277:_odp_fdserver_register_fd():FD client register: pid=1070 key=2, fd=5 _fdserver.c:461:handle_request():storing {ctx=1, key=2}->fd=7 odp_queue.c:132:odp_queue_init_global():done odp_queue.c:133:odp_queue_init_global():Queue init global odp_queue.c:135:odp_queue_init_global(): struct queue_entry_s size 320 odp_queue.c:137:odp_queue_init_global(): queue_entry_t size 320 odp_queue.c:138:odp_queue_init_global(): _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory odp_schedule.c:252:schedule_init_global():Schedule init ... _fdserver.c:277:_odp_fdserver_register_fd():FD client register: pid=1070 key=3, fd=6 _fdserver.c:461:handle_request():storing {ctx=1, key=3}->fd=8 odp_schedule.c:302:schedule_init_global():done _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _fdserver.c:277:_odp_fdserver_register_fd():FD client register: pid=1070 key=4, fd=7 _fdserver.c:461:handle_request():storing {ctx=1, key=4}->fd=9 PKTIO: initialized loop interface. PKTIO: initialized pcap interface. PKTIO: initialized socket mmap, use export ODP_PKTIO_DISABLE_SOCKET_MMAP=1 to disable. PKTIO: initialized socket mmsg,use export ODP_PKTIO_DISABLE_SOCKET_MMSG=1 to disable. odp_timer.c:1002:odp_timer_init_global():Using lock-less timer implementation _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _fdserver.c:277:_odp_fdserver_register_fd():FD client register: pid=1070 key=5, fd=8 _fdserver.c:461:handle_request():storing {ctx=1, key=5}->fd=10 _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _fdserver.c:277:_odp_fdserver_register_fd():FD client register: pid=1070 key=6, fd=9 _fdserver.c:461:handle_request():storing {ctx=1, key=6}->fd=11 _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _fdserver.c:277:_odp_fdserver_register_fd():FD client register: pid=1070 key=7, fd=10 _fdserver.c:461:handle_request():storing {ctx=1, key=7}->fd=12 _fdserver.c:277:_odp_fdserver_register_fd():FD client register: pid=1070 key=8, fd=11 _fdserver.c:461:handle_request():storing {ctx=1, key=8}->fd=13 _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _fdserver.c:277:_odp_fdserver_register_fd():FD client register: pid=1070 key=9, fd=12 _fdserver.c:461:handle_request():storing {ctx=1, key=9}->fd=14 _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _fdserver.c:277:_odp_fdserver_register_fd():FD client register: pid=1070 key=10, fd=13 _fdserver.c:461:handle_request():storing {ctx=1, key=10}->fd=15 _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _fdserver.c:277:_odp_fdserver_register_fd():FD client register: pid=1070 key=11, fd=14 _fdserver.c:461:handle_request():storing {ctx=1, key=11}->fd=16 _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _fdserver.c:277:_odp_fdserver_register_fd():FD client register: pid=1070 key=12, fd=15 _fdserver.c:461:handle_request():storing {ctx=1, key=12}->fd=17 _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _fdserver.c:277:_odp_fdserver_register_fd():FD client register: pid=1070 key=13, fd=16 _fdserver.c:461:handle_request():storing {ctx=1, key=13}->fd=18 _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory _fdserver.c:277:_odp_fdserver_register_fd():FD client register: pid=1070 key=14, fd=17 _fdserver.c:461:handle_request():storing {ctx=1, key=14}->fd=19 odp_packet_io.c:216:setup_pktio_entry():loop uses loop Starting test with params: Transmit workers: 2 Receive workers: 2 Duration (seconds): 1 Transmit batch length: 32 Receive batch length: 32 Packet receive method: schedule Interface(s): loop linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) PPS: 1000000 Succeeded: Yes TxPkts: 1000000 RxPkts: 1000000 DropPkts: 0 linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) PPS: 2000000 Succeeded: Yes TxPkts: 2000000 RxPkts: 2000000 DropPkts: 0 linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) PPS: 4000000 Succeeded: No TxPkts: 3917600 RxPkts: 3917600 DropPkts: 0 linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) PPS: 3000000 Succeeded: No TxPkts: 2919904 RxPkts: 2919904 DropPkts: 0 linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) PPS: 2500000 Succeeded: Yes TxPkts: 2500032 RxPkts: 2500032 DropPkts: 0 linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) PPS: 2750000 Succeeded: Yes TxPkts: 2750016 RxPkts: 2750016 DropPkts: 0 linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) PPS: 2875000 Succeeded: Yes TxPkts: 2875008 RxPkts: 2875008 DropPkts: 0 linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) linux.c:271:odpthread_run_start_routine():helper: ODP worker thread started as linux pthread. (pid=1070) PPS: 2937500 Succeeded: Yes TxPkts: 2937536 RxPkts: 2937536 DropPkts: 0 Maximum packet rate: 2937500 PPS (1030 Mbps) _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: pid=1070 key=14 _fdserver.c:515:handle_request():drop {ctx=1, key=14}->fd=19 _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: pid=1070 key=13 _fdserver.c:515:handle_request():drop {ctx=1, key=13}->fd=18 _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: pid=1070 key=12 _fdserver.c:515:handle_request():drop {ctx=1, key=12}->fd=17 _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: pid=1070 key=11 _fdserver.c:515:handle_request():drop {ctx=1, key=11}->fd=16 _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: pid=1070 key=8 _fdserver.c:515:handle_request():drop {ctx=1, key=8}->fd=13 _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: pid=1070 key=9 _fdserver.c:515:handle_request():drop {ctx=1, key=9}->fd=14 _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: pid=1070 key=10 _fdserver.c:515:handle_request():drop {ctx=1, key=10}->fd=15 _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: pid=1070 key=6 _fdserver.c:515:handle_request():drop {ctx=1, key=6}->fd=11 _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: pid=1070 key=7 _fdserver.c:515:handle_request():drop {ctx=1, key=7}->fd=12 _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: pid=1070 key=5 _fdserver.c:515:handle_request():drop {ctx=1, key=5}->fd=10 _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: pid=1070 key=4 _fdserver.c:515:handle_request():drop {ctx=1, key=4}->fd=9 _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: pid=1070 key=3 _fdserver.c:515:handle_request():drop {ctx=1, key=3}->fd=8 _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: pid=1070 key=2 _fdserver.c:515:handle_request():drop {ctx=1, key=2}->fd=7 _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: pid=1070 key=1 _fdserver.c:515:handle_request():drop {ctx=1, key=1}->fd=6 _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: pid=1070 key=0 _fdserver.c:515:handle_request():drop {ctx=1, key=0}->fd=5 _fdserver.c:409:stop_server():FD sending server stop request _fdserver.c:531:handle_request():Stoping FD server root@erachmi-ericsson:~/linaro/ODP/odp# On 23 January 2017 at 17:28, Maxim Uvarov <maxim.uvarov@linaro.org> wrote: > On 01/23/17 11:47, Christophe Milard wrote: >> Fixing failure due to lack of huge pages. >> Fixes: https://bugs.linaro.org/show_bug.cgi?id=2842 >> >> Signed-off-by: Christophe Milard <christophe.milard@linaro.org> >> --- >> platform/linux-generic/_ishm.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/platform/linux-generic/_ishm.c b/platform/linux-generic/_ishm.c >> index f889834..3797f20 100644 >> --- a/platform/linux-generic/_ishm.c >> +++ b/platform/linux-generic/_ishm.c >> @@ -547,7 +547,7 @@ static void *do_map(int block_index, uint64_t len, uint32_t align, >> addr = alloc_fragment(len, block_index, align, &fragment); >> if (!addr) { >> ODP_ERR("alloc_fragment failed.\n"); >> - if (new_block->filename[0]) { >> + if (!new_block->external_fd) { >> close(*fd); >> *fd = -1; >> delete_file(new_block); >> @@ -562,7 +562,7 @@ static void *do_map(int block_index, uint64_t len, uint32_t align, >> if (mapped_addr == NULL) { >> if (flags & _ODP_ISHM_SINGLE_VA) >> free_fragment(fragment); >> - if (new_block->filename[0]) { >> + if (!new_block->external_fd) { >> close(*fd); >> *fd = -1; >> delete_file(new_block); >> > > default setting for: > Ubuntu 16.04.1 LTS > > f4df4d24c6 linux-gen: _ishm: fix normal page fallback > 03aafc3 helper: remove dependence on test dir > 19a457a helper: move thread implementation under platform > 7025b1b helper: cleanup Linux rename to thread > 0f18e31 configure: use helper configure.m4 > 3875d6e update API version number from v1.12.0.0 to v1.13.0.024c6 > linux-gen: _ishm: fix normal page fallback > 03aafc3 helper: remove dependence on test dir > 19a457a helper: move thread implementation under platform > 7025b1b helper: cleanup Linux rename to thread > 0f18e31 configure: use helper configure.m4 > 3875d6e update API version number from v1.12.0.0 to v1.13.0.0 > > root@ubuntu:/opt/odp.git# cat > ./test/common_plat/performance/odp_pktio_perf.log > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _ishm.c:859:_odp_ishm_reserve():No huge pages, fall back to normal > pages. check: /proc/sys/vm/nr_hugepages. > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > FAIL odp_pktio_perf (exit status: 135) > root@ubuntu:/opt/odp.git# free > total used free shared buff/cache > available > Mem: 8104960 85984 6965088 8772 1053888 > 7789072 > Swap: 0 0 0 > root@ubuntu:/opt/odp.git# mount > sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) > proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) > udev on /dev type devtmpfs > (rw,nosuid,relatime,size=4040932k,nr_inodes=1010233,mode=755) > devpts on /dev/pts type devpts > (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) > tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=810496k,mode=755) > /dev/vdb1 on / type ext4 (rw,relatime,data=ordered) > securityfs on /sys/kernel/security type securityfs > (rw,nosuid,nodev,noexec,relatime) > tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) > tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k) > tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755) > cgroup on /sys/fs/cgroup/systemd type cgroup > (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd) > pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime) > efivarfs on /sys/firmware/efi/efivars type efivarfs > (rw,nosuid,nodev,noexec,relatime) > cgroup on /sys/fs/cgroup/pids type cgroup > (rw,nosuid,nodev,noexec,relatime,pids) > cgroup on /sys/fs/cgroup/memory type cgroup > (rw,nosuid,nodev,noexec,relatime,memory) > cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup > (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) > cgroup on /sys/fs/cgroup/cpuset type cgroup > (rw,nosuid,nodev,noexec,relatime,cpuset) > cgroup on /sys/fs/cgroup/blkio type cgroup > (rw,nosuid,nodev,noexec,relatime,blkio) > cgroup on /sys/fs/cgroup/perf_event type cgroup > (rw,nosuid,nodev,noexec,relatime,perf_event) > cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup > (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio) > cgroup on /sys/fs/cgroup/hugetlb type cgroup > (rw,nosuid,nodev,noexec,relatime,hugetlb) > cgroup on /sys/fs/cgroup/freezer type cgroup > (rw,nosuid,nodev,noexec,relatime,freezer) > cgroup on /sys/fs/cgroup/devices type cgroup > (rw,nosuid,nodev,noexec,relatime,devices) > systemd-1 on /proc/sys/fs/binfmt_misc type autofs > (rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct) > debugfs on /sys/kernel/debug type debugfs (rw,relatime) > hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime) > mqueue on /dev/mqueue type mqueue (rw,relatime) > fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime) > /dev/vdb15 on /boot/efi type vfat > (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) > lxcfs on /var/lib/lxcfs type fuse.lxcfs > (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other) > tmpfs on /run/user/1001 type tmpfs > (rw,nosuid,nodev,relatime,size=810496k,mode=700,uid=1001,gid=1001) > root@ubuntu:/opt/odp.git# >
this patch is merged. issue bellow (which I saw) is related to not enough disk space for memory mapped file. I will create separate bug for that to list it for history. Maxim. On 01/24/17 10:25, Christophe Milard wrote: > Hi Maxim. > > I cannot reproduce that, and your trace seems to indicate the > fallback to normal pages does work. > I do see the test failure in you log, though, but cannot relate it to > ishm (or to anything else). Can you provide me with more log/ help me > debug? > > Christophe > > My run seem to work: > Distributor ID: Ubuntu > Description: Ubuntu 16.04.1 LTS > Release: 16.04 > Codename: xenial > > root@erachmi-ericsson:~/linaro/ODP/odp# > test/common_plat/performance/odp_pktio_perf > odp_system_info.c:97:default_huge_page_size():defaut hp size is 2048 kB > odp_system_info.c:97:default_huge_page_size():defaut hp size is 2048 kB > _ishm.c:1385:_odp_ishm_init_global():Huge pages mount point is: /dev/hugepages > _ishmphy.c:63:_odp_ishmphy_book_va():VA Reserved: 0x7f357c7b8000, len=0x20200000 > _fdserver.c:277:_odp_fdserver_register_fd():FD client register: > pid=1070 key=0, fd=3 > _fdserver.c:461:handle_request():storing {ctx=1, key=0}->fd=5 > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _ishm.c:859:_odp_ishm_reserve():No huge pages, fall back to normal > pages. check: /proc/sys/vm/nr_hugepages. > _fdserver.c:277:_odp_fdserver_register_fd():FD client register: > pid=1070 key=1, fd=4 > _fdserver.c:461:handle_request():storing {ctx=1, key=1}->fd=6 > odp_pool.c:88:odp_pool_init_global(): > Pool init global > odp_pool.c:89:odp_pool_init_global(): odp_buffer_hdr_t size 352 > odp_pool.c:90:odp_pool_init_global(): odp_packet_hdr_t size 488 > odp_pool.c:91:odp_pool_init_global(): > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > odp_queue.c:111:odp_queue_init_global():Queue init ... > _fdserver.c:277:_odp_fdserver_register_fd():FD client register: > pid=1070 key=2, fd=5 > _fdserver.c:461:handle_request():storing {ctx=1, key=2}->fd=7 > odp_queue.c:132:odp_queue_init_global():done > odp_queue.c:133:odp_queue_init_global():Queue init global > odp_queue.c:135:odp_queue_init_global(): struct queue_entry_s size 320 > odp_queue.c:137:odp_queue_init_global(): queue_entry_t size 320 > odp_queue.c:138:odp_queue_init_global(): > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > odp_schedule.c:252:schedule_init_global():Schedule init ... > _fdserver.c:277:_odp_fdserver_register_fd():FD client register: > pid=1070 key=3, fd=6 > _fdserver.c:461:handle_request():storing {ctx=1, key=3}->fd=8 > odp_schedule.c:302:schedule_init_global():done > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _fdserver.c:277:_odp_fdserver_register_fd():FD client register: > pid=1070 key=4, fd=7 > _fdserver.c:461:handle_request():storing {ctx=1, key=4}->fd=9 > PKTIO: initialized loop interface. > PKTIO: initialized pcap interface. > PKTIO: initialized socket mmap, use export > ODP_PKTIO_DISABLE_SOCKET_MMAP=1 to disable. > PKTIO: initialized socket mmsg,use export > ODP_PKTIO_DISABLE_SOCKET_MMSG=1 to disable. > odp_timer.c:1002:odp_timer_init_global():Using lock-less timer implementation > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _fdserver.c:277:_odp_fdserver_register_fd():FD client register: > pid=1070 key=5, fd=8 > _fdserver.c:461:handle_request():storing {ctx=1, key=5}->fd=10 > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _fdserver.c:277:_odp_fdserver_register_fd():FD client register: > pid=1070 key=6, fd=9 > _fdserver.c:461:handle_request():storing {ctx=1, key=6}->fd=11 > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _fdserver.c:277:_odp_fdserver_register_fd():FD client register: > pid=1070 key=7, fd=10 > _fdserver.c:461:handle_request():storing {ctx=1, key=7}->fd=12 > _fdserver.c:277:_odp_fdserver_register_fd():FD client register: > pid=1070 key=8, fd=11 > _fdserver.c:461:handle_request():storing {ctx=1, key=8}->fd=13 > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _fdserver.c:277:_odp_fdserver_register_fd():FD client register: > pid=1070 key=9, fd=12 > _fdserver.c:461:handle_request():storing {ctx=1, key=9}->fd=14 > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _fdserver.c:277:_odp_fdserver_register_fd():FD client register: > pid=1070 key=10, fd=13 > _fdserver.c:461:handle_request():storing {ctx=1, key=10}->fd=15 > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _fdserver.c:277:_odp_fdserver_register_fd():FD client register: > pid=1070 key=11, fd=14 > _fdserver.c:461:handle_request():storing {ctx=1, key=11}->fd=16 > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _fdserver.c:277:_odp_fdserver_register_fd():FD client register: > pid=1070 key=12, fd=15 > _fdserver.c:461:handle_request():storing {ctx=1, key=12}->fd=17 > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _fdserver.c:277:_odp_fdserver_register_fd():FD client register: > pid=1070 key=13, fd=16 > _fdserver.c:461:handle_request():storing {ctx=1, key=13}->fd=18 > _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory > _fdserver.c:277:_odp_fdserver_register_fd():FD client register: > pid=1070 key=14, fd=17 > _fdserver.c:461:handle_request():storing {ctx=1, key=14}->fd=19 > odp_packet_io.c:216:setup_pktio_entry():loop uses loop > Starting test with params: > Transmit workers: 2 > Receive workers: 2 > Duration (seconds): 1 > Transmit batch length: 32 > Receive batch length: 32 > Packet receive method: schedule > Interface(s): loop > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > PPS: 1000000 Succeeded: Yes TxPkts: 1000000 RxPkts: 1000000 > DropPkts: 0 > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > PPS: 2000000 Succeeded: Yes TxPkts: 2000000 RxPkts: 2000000 > DropPkts: 0 > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > PPS: 4000000 Succeeded: No TxPkts: 3917600 RxPkts: 3917600 > DropPkts: 0 > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > PPS: 3000000 Succeeded: No TxPkts: 2919904 RxPkts: 2919904 > DropPkts: 0 > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > PPS: 2500000 Succeeded: Yes TxPkts: 2500032 RxPkts: 2500032 > DropPkts: 0 > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > PPS: 2750000 Succeeded: Yes TxPkts: 2750016 RxPkts: 2750016 > DropPkts: 0 > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > PPS: 2875000 Succeeded: Yes TxPkts: 2875008 RxPkts: 2875008 > DropPkts: 0 > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > linux.c:271:odpthread_run_start_routine():helper: ODP worker thread > started as linux pthread. (pid=1070) > PPS: 2937500 Succeeded: Yes TxPkts: 2937536 RxPkts: 2937536 > DropPkts: 0 > Maximum packet rate: 2937500 PPS (1030 Mbps) > _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: > pid=1070 key=14 > _fdserver.c:515:handle_request():drop {ctx=1, key=14}->fd=19 > _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: > pid=1070 key=13 > _fdserver.c:515:handle_request():drop {ctx=1, key=13}->fd=18 > _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: > pid=1070 key=12 > _fdserver.c:515:handle_request():drop {ctx=1, key=12}->fd=17 > _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: > pid=1070 key=11 > _fdserver.c:515:handle_request():drop {ctx=1, key=11}->fd=16 > _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: > pid=1070 key=8 > _fdserver.c:515:handle_request():drop {ctx=1, key=8}->fd=13 > _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: > pid=1070 key=9 > _fdserver.c:515:handle_request():drop {ctx=1, key=9}->fd=14 > _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: > pid=1070 key=10 > _fdserver.c:515:handle_request():drop {ctx=1, key=10}->fd=15 > _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: > pid=1070 key=6 > _fdserver.c:515:handle_request():drop {ctx=1, key=6}->fd=11 > _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: > pid=1070 key=7 > _fdserver.c:515:handle_request():drop {ctx=1, key=7}->fd=12 > _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: > pid=1070 key=5 > _fdserver.c:515:handle_request():drop {ctx=1, key=5}->fd=10 > _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: > pid=1070 key=4 > _fdserver.c:515:handle_request():drop {ctx=1, key=4}->fd=9 > _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: > pid=1070 key=3 > _fdserver.c:515:handle_request():drop {ctx=1, key=3}->fd=8 > _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: > pid=1070 key=2 > _fdserver.c:515:handle_request():drop {ctx=1, key=2}->fd=7 > _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: > pid=1070 key=1 > _fdserver.c:515:handle_request():drop {ctx=1, key=1}->fd=6 > _fdserver.c:323:_odp_fdserver_deregister_fd():FD client deregister: > pid=1070 key=0 > _fdserver.c:515:handle_request():drop {ctx=1, key=0}->fd=5 > _fdserver.c:409:stop_server():FD sending server stop request > _fdserver.c:531:handle_request():Stoping FD server > root@erachmi-ericsson:~/linaro/ODP/odp# > > On 23 January 2017 at 17:28, Maxim Uvarov <maxim.uvarov@linaro.org> wrote: >> On 01/23/17 11:47, Christophe Milard wrote: >>> Fixing failure due to lack of huge pages. >>> Fixes: https://bugs.linaro.org/show_bug.cgi?id=2842 >>> >>> Signed-off-by: Christophe Milard <christophe.milard@linaro.org> >>> --- >>> platform/linux-generic/_ishm.c | 4 ++-- >>> 1 file changed, 2 insertions(+), 2 deletions(-) >>> >>> diff --git a/platform/linux-generic/_ishm.c b/platform/linux-generic/_ishm.c >>> index f889834..3797f20 100644 >>> --- a/platform/linux-generic/_ishm.c >>> +++ b/platform/linux-generic/_ishm.c >>> @@ -547,7 +547,7 @@ static void *do_map(int block_index, uint64_t len, uint32_t align, >>> addr = alloc_fragment(len, block_index, align, &fragment); >>> if (!addr) { >>> ODP_ERR("alloc_fragment failed.\n"); >>> - if (new_block->filename[0]) { >>> + if (!new_block->external_fd) { >>> close(*fd); >>> *fd = -1; >>> delete_file(new_block); >>> @@ -562,7 +562,7 @@ static void *do_map(int block_index, uint64_t len, uint32_t align, >>> if (mapped_addr == NULL) { >>> if (flags & _ODP_ISHM_SINGLE_VA) >>> free_fragment(fragment); >>> - if (new_block->filename[0]) { >>> + if (!new_block->external_fd) { >>> close(*fd); >>> *fd = -1; >>> delete_file(new_block); >>> >> >> default setting for: >> Ubuntu 16.04.1 LTS >> >> f4df4d24c6 linux-gen: _ishm: fix normal page fallback >> 03aafc3 helper: remove dependence on test dir >> 19a457a helper: move thread implementation under platform >> 7025b1b helper: cleanup Linux rename to thread >> 0f18e31 configure: use helper configure.m4 >> 3875d6e update API version number from v1.12.0.0 to v1.13.0.024c6 >> linux-gen: _ishm: fix normal page fallback >> 03aafc3 helper: remove dependence on test dir >> 19a457a helper: move thread implementation under platform >> 7025b1b helper: cleanup Linux rename to thread >> 0f18e31 configure: use helper configure.m4 >> 3875d6e update API version number from v1.12.0.0 to v1.13.0.0 >> >> root@ubuntu:/opt/odp.git# cat >> ./test/common_plat/performance/odp_pktio_perf.log >> _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory >> _ishm.c:859:_odp_ishm_reserve():No huge pages, fall back to normal >> pages. check: /proc/sys/vm/nr_hugepages. >> _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory >> _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory >> _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory >> _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory >> _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory >> _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory >> _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory >> _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory >> _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory >> _ishmphy.c:128:_odp_ishmphy_map():mmap failed:Cannot allocate memory >> FAIL odp_pktio_perf (exit status: 135) >> root@ubuntu:/opt/odp.git# free >> total used free shared buff/cache >> available >> Mem: 8104960 85984 6965088 8772 1053888 >> 7789072 >> Swap: 0 0 0 >> root@ubuntu:/opt/odp.git# mount >> sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) >> proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) >> udev on /dev type devtmpfs >> (rw,nosuid,relatime,size=4040932k,nr_inodes=1010233,mode=755) >> devpts on /dev/pts type devpts >> (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) >> tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=810496k,mode=755) >> /dev/vdb1 on / type ext4 (rw,relatime,data=ordered) >> securityfs on /sys/kernel/security type securityfs >> (rw,nosuid,nodev,noexec,relatime) >> tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) >> tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k) >> tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755) >> cgroup on /sys/fs/cgroup/systemd type cgroup >> (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd) >> pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime) >> efivarfs on /sys/firmware/efi/efivars type efivarfs >> (rw,nosuid,nodev,noexec,relatime) >> cgroup on /sys/fs/cgroup/pids type cgroup >> (rw,nosuid,nodev,noexec,relatime,pids) >> cgroup on /sys/fs/cgroup/memory type cgroup >> (rw,nosuid,nodev,noexec,relatime,memory) >> cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup >> (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) >> cgroup on /sys/fs/cgroup/cpuset type cgroup >> (rw,nosuid,nodev,noexec,relatime,cpuset) >> cgroup on /sys/fs/cgroup/blkio type cgroup >> (rw,nosuid,nodev,noexec,relatime,blkio) >> cgroup on /sys/fs/cgroup/perf_event type cgroup >> (rw,nosuid,nodev,noexec,relatime,perf_event) >> cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup >> (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio) >> cgroup on /sys/fs/cgroup/hugetlb type cgroup >> (rw,nosuid,nodev,noexec,relatime,hugetlb) >> cgroup on /sys/fs/cgroup/freezer type cgroup >> (rw,nosuid,nodev,noexec,relatime,freezer) >> cgroup on /sys/fs/cgroup/devices type cgroup >> (rw,nosuid,nodev,noexec,relatime,devices) >> systemd-1 on /proc/sys/fs/binfmt_misc type autofs >> (rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct) >> debugfs on /sys/kernel/debug type debugfs (rw,relatime) >> hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime) >> mqueue on /dev/mqueue type mqueue (rw,relatime) >> fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime) >> /dev/vdb15 on /boot/efi type vfat >> (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) >> lxcfs on /var/lib/lxcfs type fuse.lxcfs >> (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other) >> tmpfs on /run/user/1001 type tmpfs >> (rw,nosuid,nodev,relatime,size=810496k,mode=700,uid=1001,gid=1001) >> root@ubuntu:/opt/odp.git# >>
diff --git a/platform/linux-generic/_ishm.c b/platform/linux-generic/_ishm.c index f889834..3797f20 100644 --- a/platform/linux-generic/_ishm.c +++ b/platform/linux-generic/_ishm.c @@ -547,7 +547,7 @@ static void *do_map(int block_index, uint64_t len, uint32_t align, addr = alloc_fragment(len, block_index, align, &fragment); if (!addr) { ODP_ERR("alloc_fragment failed.\n"); - if (new_block->filename[0]) { + if (!new_block->external_fd) { close(*fd); *fd = -1; delete_file(new_block); @@ -562,7 +562,7 @@ static void *do_map(int block_index, uint64_t len, uint32_t align, if (mapped_addr == NULL) { if (flags & _ODP_ISHM_SINGLE_VA) free_fragment(fragment); - if (new_block->filename[0]) { + if (!new_block->external_fd) { close(*fd); *fd = -1; delete_file(new_block);
Fixing failure due to lack of huge pages. Fixes: https://bugs.linaro.org/show_bug.cgi?id=2842 Signed-off-by: Christophe Milard <christophe.milard@linaro.org> --- platform/linux-generic/_ishm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.7.4