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#
>

Reply via email to