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.uva...@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.mil...@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# >