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