value is zero in all the huge page parameters. root@ubuntu-15-10:/sys/kernel/mm/hugepages/hugepages-1048576kB# ls -l total 0 -r--r--r-- 1 root root 4096 May 10 18:15 free_hugepages -rw-r--r-- 1 root root 4096 May 10 18:15 nr_hugepages -rw-r--r-- 1 root root 4096 May 10 18:15 nr_hugepages_mempolicy -rw-r--r-- 1 root root 4096 May 10 18:15 nr_overcommit_hugepages -r--r--r-- 1 root root 4096 May 10 18:15 resv_hugepages -r--r--r-- 1 root root 4096 May 10 18:15 surplus_hugepages root@ubuntu-15-10:/sys/kernel/mm/hugepages/hugepages-1048576kB# cat free_hugepages 0 root@ubuntu-15-10:/sys/kernel/mm/hugepages/hugepages-1048576kB# cat nr_hugepages 0 root@ubuntu-15-10:/sys/kernel/mm/hugepages/hugepages-1048576kB# cat nr_hugepages_mempolicy 0 root@ubuntu-15-10:/sys/kernel/mm/hugepages/hugepages-1048576kB# cat nr_overcommit_hugepages 0 root@ubuntu-15-10:/sys/kernel/mm/hugepages/hugepages-1048576kB# cat resv_hugepages 0 root@ubuntu-15-10:/sys/kernel/mm/hugepages/hugepages-1048576kB# cat surplus_hugepages 0 root@ubuntu-15-10:/sys/kernel/mm/hugepages/hugepages-1048576kB#
On Tue, May 10, 2016 at 6:19 PM, nousi <[email protected]> wrote: > yes, there are two directories under "/sys/kernel/mm/hugepages" > > root@ubuntu-15-10:/sys/kernel/mm/hugepages# ls -l > total 0 > drwxr-xr-x 2 root root 0 May 10 18:15 hugepages-1048576kB > drwxr-xr-x 2 root root 0 May 10 18:15 hugepages-2048kB > > > On Tue, May 10, 2016 at 6:13 PM, Maxim Uvarov <[email protected]> > wrote: > >> In my case there is 1 Gb huge page in: >> /sys/kernel/mm/hugepages >> >> and odp_shm_reserve() just rounds all allocations to 1 GB: >> >> #ifdef MAP_HUGETLB >> huge_sz = odp_sys_huge_page_size(); <--- 1 GB here >> need_huge_page = (huge_sz && alloc_size > page_sz); >> /* munmap for huge pages requires sizes round up by page */ >> alloc_hp_size = (size + align + (huge_sz - 1)) & (-huge_sz); >> #endif >> >> Do you see the same thing? >> >> Maxim. >> >> On 05/10/16 15:07, nousi wrote: >> >>> Hi Maxim, >>> >>> Thanks for your support. >>> >>> mamp return below error; >>> "mmap: Cannot allocate memory" >>> "mount -t hugetlbfs none /mnt/hugetlbfs" also does not help. >>> >>> Huge page allocation success in below two calls after that it fails. >>> 1) odp_thread_globals >>> 2) odp_buffer_pools >>> >>> Please have a look at the console logs below. >>> >>> odp_shared_memory.c:299:odp_shm_reserve(): odp_thread_globals: huge page >>> allocation success ! >>> odp_shared_memory.c:299:odp_shm_reserve(): odp_buffer_pools: huge page >>> allocation success ! >>> odp_pool.c:104:odp_pool_init_global(): >>> Pool init global >>> odp_pool.c:105:odp_pool_init_global(): pool_entry_s size 8512 >>> odp_pool.c:106:odp_pool_init_global(): pool_entry_t size 8512 >>> odp_pool.c:107:odp_pool_init_global(): odp_buffer_hdr_t size 216 >>> odp_pool.c:108:odp_pool_init_global(): >>> *mmap: Cannot allocate memory* >>> odp_queue.c:130:odp_queue_init_global():Queue init ... >>> odp_shared_memory.c:297:odp_shm_reserve(): odp_queues: >>> No huge pages, fall back to normal pages, >>> check: /proc/sys/vm/nr_hugepages. >>> >>> >>> Recently I Moved from Ubuntu 14.04 to 15.10, in Ubuntu 14.04 I had run >>> calssfier example without any huge page allocation error. >>> >>> On Tue, May 10, 2016 at 3:50 PM, Maxim Uvarov <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> Does: >>> mount -t hugetlbfs none /mnt/hugetlbfs >>> >>> help? >>> >>> Maxim. >>> >>> >>> On 10 May 2016 at 13:16, Maxim Uvarov <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> looks like you have enough free HP. Which error returns >>> mmap() on try with HP? >>> >>> On 10 May 2016 at 11:57, nousi <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> linaro@ubuntu-15-10:~$ cat /proc/sys/vm/nr_hugepages >>> 1024 >>> linaro@ubuntu-15-10:~$ >>> >>> linaro@ubuntu-15-10:~$ cat /proc/meminfo >>> MemTotal: 8061836 kB >>> MemFree: 470516 kB >>> MemAvailable: 1901932 kB >>> Buffers: 92600 kB >>> Cached: 1939696 kB >>> SwapCached: 7516 kB >>> Active: 3238960 kB >>> Inactive: 1804492 kB >>> Active(anon): 2712440 kB >>> Inactive(anon): 1069492 kB >>> Active(file): 526520 kB >>> Inactive(file): 735000 kB >>> Unevictable: 76 kB >>> Mlocked: 76 kB >>> SwapTotal: 16547836 kB >>> SwapFree: 16370160 kB >>> Dirty: 19816 kB >>> Writeback: 0 kB >>> AnonPages: 3004784 kB >>> Mapped: 679960 kB >>> Shmem: 770776 kB >>> Slab: 264692 kB >>> SReclaimable: 212172 kB >>> SUnreclaim: 52520 kB >>> KernelStack: 11952 kB >>> PageTables: 65780 kB >>> NFS_Unstable: 0 kB >>> Bounce: 0 kB >>> WritebackTmp: 0 kB >>> CommitLimit: 19530176 kB >>> Committed_AS: 11165432 kB >>> VmallocTotal: 34359738367 kB >>> VmallocUsed: 410416 kB >>> VmallocChunk: 34358947836 kB >>> HardwareCorrupted: 0 kB >>> AnonHugePages: 583680 kB >>> CmaTotal: 0 kB >>> CmaFree: 0 kB >>> HugePages_Total: 1024 >>> HugePages_Free: 1022 >>> HugePages_Rsvd: 1022 >>> HugePages_Surp: 0 >>> Hugepagesize: 2048 kB >>> DirectMap4k: 234400 kB >>> DirectMap2M: 6991872 kB >>> DirectMap1G: 2097152 kB >>> linaro@ubuntu-15-10:~$ >>> >>> >>> On Tue, May 10, 2016 at 12:38 PM, Maxim Uvarov >>> <[email protected] <mailto:[email protected]>> >>> wrote: >>> >>> Please put output for: >>> cat /proc/meminfo >>> cat /proc/sys/vm/nr_hugepages >>> >>> Thank you, >>> Maxim. >>> >>> >>> >>> On 10 May 2016 at 08:36, nousi <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> mmap is failing in "odp_shm_reserve" function >>> (odp_queue_init_global() ---> odp_shm_reserve() >>> ---> odp_shm_reserve()) >>> >>> >>> debug logs: >>> >>> root@ubuntu-15-10 >>> :/home/linaro/linaro/odp/example/classifier# >>> ./odp_classifier -i eno1 -m 0 -p >>> "ODP_PMR_SIP_ADDR:192.168.10.11:FFFFFFFF:queue1" >>> -p "ODP_PMR_SIP_ADDR:10.130.69.0:000000FF:queue2" >>> -p "ODP_PMR_SIP_ADDR:10.130.68.0:FFFFFE00:queue3" >>> odp_pool.c:104:odp_pool_init_global(): >>> Pool init global >>> odp_pool.c:105:odp_pool_init_global(): >>> pool_entry_s size 8512 >>> odp_pool.c:106:odp_pool_init_global(): >>> pool_entry_t size 8512 >>> odp_pool.c:107:odp_pool_init_global(): >>> odp_buffer_hdr_t size 216 >>> odp_pool.c:108:odp_pool_init_global(): >>> odp_queue.c:130:odp_queue_init_global():Queue init >>> ... >>> odp_shared_memory.c:296:odp_shm_reserve():odp_queues: >>> :: No huge pages, fall back to normal pages, >>> check: /proc/sys/vm/nr_hugepages. >>> odp_queue.c:154:odp_queue_init_global():done >>> odp_queue.c:155:odp_queue_init_global():Queue init >>> global >>> odp_queue.c:157:odp_queue_init_global(): struct >>> queue_entry_s size 320 >>> odp_queue.c:159:odp_queue_init_global(): >>> queue_entry_t size 320 >>> odp_queue.c:160:odp_queue_init_global(): >>> >>> odp_schedule.c:145:odp_schedule_init_global():Schedule >>> init ... >>> >>> odp_shared_memory.c:296:odp_shm_reserve():odp_scheduler: >>> :: No huge pages, fall back to normal pages, >>> check: /proc/sys/vm/nr_hugepages. >>> >>> odp_shared_memory.c:296:odp_shm_reserve():odp_sched_pool: >>> :: No huge pages, fall back to normal pages, >>> check: /proc/sys/vm/nr_hugepages. >>> odp_schedule.c:226:odp_schedule_init_global():done >>> >>> odp_shared_memory.c:296:odp_shm_reserve():odp_pktio_entries: >>> :: No huge pages, fall back to normal pages, >>> check: /proc/sys/vm/nr_hugepages. >>> >>> odp_shared_memory.c:296:odp_shm_reserve():crypto_pool: >>> :: No huge pages, fall back to normal pages, >>> check: /proc/sys/vm/nr_hugepages. >>> >>> odp_shared_memory.c:296:odp_shm_reserve():shm_odp_cos_tbl: >>> :: No huge pages, fall back to normal pages, >>> check: /proc/sys/vm/nr_hugepages. >>> >>> odp_shared_memory.c:296:odp_shm_reserve():shm_odp_pmr_tbl: >>> :: No huge pages, fall back to normal pages, >>> check: /proc/sys/vm/nr_hugepages. >>> main :: odp_init_global done! >>> odp_classifier.c:500:main():main :: odp_init_local >>> done! >>> odp_classifier.c:505:main():main :: >>> odp_shm_reserve done! >>> >>> ODP system info >>> --------------- >>> ODP API version: 1.10.0 >>> CPU model: Intel(R) Core(TM) i7-5600U CPU >>> CPU freq (hz): 2600000000 >>> Cache line size: 64 >>> CPU count: 4 >>> >>> Running ODP appl: "odp_classifier" >>> ----------------- >>> Using IF:eno1 >>> >>> num worker threads: 2 >>> first CPU: 2 >>> cpu mask: 0xC >>> >>> odp_shared_memory.c:296:odp_shm_reserve():packet_pool: >>> :: No huge pages, fall back to normal pages, >>> check: /proc/sys/vm/nr_hugepages. >>> odp_pool.c:759:odp_pool_print():Pool info >>> odp_pool.c:760:odp_pool_print():--------- >>> odp_pool.c:762:odp_pool_print(): pool 1 >>> odp_pool.c:764:odp_pool_print(): name packet_pool >>> odp_pool.c:769:odp_pool_print(): pool type packet >>> odp_pool.c:771:odp_pool_print(): pool storage ODP >>> managed shm handle 11 >>> odp_pool.c:773:odp_pool_print(): pool status active >>> odp_pool.c:777:odp_pool_print(): pool opts >>> segmented, non-zeroized, created >>> odp_pool.c:778:odp_pool_print(): pool base >>> 0x7f5091aab000 >>> odp_pool.c:780:odp_pool_print(): pool size 1310720 >>> (320 pages) >>> odp_pool.c:781:odp_pool_print(): pool mdata base >>> 0x7f5091bb5940 >>> odp_pool.c:782:odp_pool_print(): udata size 0 >>> odp_pool.c:783:odp_pool_print(): headroom 66 >>> odp_pool.c:784:odp_pool_print(): tailroom 0 >>> odp_pool.c:791:odp_pool_print(): seg length 1856 >>> requested, 1936 used >>> odp_pool.c:793:odp_pool_print(): pkt length 1856 >>> requested, 1936 used >>> odp_pool.c:795:odp_pool_print(): num bufs 564 >>> odp_pool.c:797:odp_pool_print(): bufs available 564 >>> odp_pool.c:798:odp_pool_print(): bufs in use 0 >>> odp_pool.c:799:odp_pool_print(): buf allocs 0 >>> odp_pool.c:800:odp_pool_print(): buf frees 0 >>> odp_pool.c:801:odp_pool_print(): buf empty 0 >>> odp_pool.c:803:odp_pool_print(): blk size 1936 >>> odp_pool.c:805:odp_pool_print(): blks available 564 >>> odp_pool.c:806:odp_pool_print(): blk allocs 0 >>> odp_pool.c:807:odp_pool_print(): blk frees 0 >>> odp_pool.c:808:odp_pool_print(): blk empty 0 >>> odp_pool.c:809:odp_pool_print(): buf high wm >>> value 282 >>> odp_pool.c:810:odp_pool_print(): buf high wm count >>> 0 >>> odp_pool.c:811:odp_pool_print(): buf low wm >>> value 141 >>> odp_pool.c:812:odp_pool_print(): buf low wm count >>> 0 >>> odp_pool.c:813:odp_pool_print(): blk high wm >>> value 282 >>> odp_pool.c:814:odp_pool_print(): blk high wm count >>> 0 >>> odp_pool.c:815:odp_pool_print(): blk low wm >>> value 141 >>> odp_pool.c:816:odp_pool_print(): blk low wm count >>> 0 >>> main :: odp_pool_print done! >>> odp_packet_io.c:230:setup_pktio_entry():eno1 uses >>> socket_mmap >>> created pktio:01, dev:eno1, queue mode (ATOMIC >>> queues) >>> default pktio01 >>> odp_shared_memory.c:296:odp_shm_reserve(): >>> DefaultPool: >>> :: No huge pages, fall back to normal pages, >>> check: /proc/sys/vm/nr_hugepages. >>> odp_shared_memory.c:296:odp_shm_reserve(): >>> queue1Pool0: >>> :: No huge pages, fall back to normal pages, >>> check: /proc/sys/vm/nr_hugepages. >>> odp_shared_memory.c:296:odp_shm_reserve(): >>> queue2Pool1: >>> :: No huge pages, fall back to normal pages, >>> check: /proc/sys/vm/nr_hugepages. >>> odp_shared_memory.c:296:odp_shm_reserve(): >>> queue3Pool2: >>> :: No huge pages, fall back to normal pages, >>> check: /proc/sys/vm/nr_hugepages. >>> >>> ---------------------------------------- >>> CLASSIFIER EXAMPLE STATISTICS >>> ---------------------------------------- >>> CONFIGURATION >>> >>> COS VALUE MASK >>> ---------------------------------------- >>> queue1 192.168.10.11 FFFFFFFF >>> queue2 10.130.69.0 000000FF >>> queue3 10.130.68.0 FFFFFE00 >>> >>> RECEIVED PACKETS >>> ---------------------------------------- >>> queue1 |queue2 |queue3 |DefaultCos |Total Packets >>> queue pool |queue pool |queue pool |queue pool | >>> 845 845 |0 0 |0 0 |38 38 |883 >>> >>> >>> On Mon, May 9, 2016 at 9:00 PM, Bill Fischofer >>> <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> >>> >>> On Mon, May 9, 2016 at 6:57 AM, nousi >>> <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> >>> Hi All, >>> >>> Pleas help me in running ODP classifier >>> example with huge pages. >>> In ubuntu 15.10 by default interface >>> naming as "eno1" and value in >>> "/proc/sys/vm/nr_hugepages." is 1024. >>> classifier example program could not able >>> to use huge pages even though nr_hugepages >>> value is non zero. >>> I could able to run the classier example, >>> but it is not using huge pages. >>> /* >>> console log is pasted below for you >>> reference. >>> >>> */root@odp/example/classifier# >>> >>> ./odp_classifier -i eno1 -m 0 -p >>> "ODP_PMR_SIP_ADDR:192.168.10.11 >>> :FFFFFFFF:queue1" >>> -p >>> "ODP_PMR_SIP_ADDR:10.130.69.0 >>> :000000FF:queue2" >>> -p >>> "ODP_PMR_SIP_ADDR:10.130.68.0 >>> :FFFFFE00:queue3" >>> odp_pool.c:104:odp_pool_init_global(): >>> Pool init global >>> odp_pool.c:105:odp_pool_init_global(): >>> pool_entry_s size 8512 >>> odp_pool.c:106:odp_pool_init_global(): >>> pool_entry_t size 8512 >>> odp_pool.c:107:odp_pool_init_global(): >>> odp_buffer_hdr_t size 216 >>> odp_pool.c:108:odp_pool_init_global(): >>> odp_queue.c:130:odp_queue_init_global():Queue >>> init ... >>> odp_shared_memory.c:296:odp_shm_reserve(): >>> odp_queues: >>> No huge pages, fall back to normal pages, >>> check: /proc/sys/vm/nr_hugepages. >>> >>> >>> This is an informational message saying that >>> the linux-generic implementation was unable to >>> allocate huge pages so it's falling back to >>> normal pages. I'm not sure why you're seeing >>> that except that it seems that some >>> allocations may have been successful (those in >>> odp_pool.c) while those for queue >>> initialization were not. >>> >>> I'll let others who are more expert in this >>> area chime in with some additional thoughts. >>> >>> >>> >>> >>> Thanks & Regards, >>> /B.Nousilal, >>> / >>> >>> >>> _______________________________________________ >>> lng-odp mailing list >>> [email protected] >>> <mailto:[email protected]> >>> >>> https://lists.linaro.org/mailman/listinfo/lng-odp >>> >>> >>> >>> >>> >>> -- /Thanks & Regards, >>> B.Nousilal, >>> / >>> >>> _______________________________________________ >>> lng-odp mailing list >>> [email protected] >>> <mailto:[email protected]> >>> https://lists.linaro.org/mailman/listinfo/lng-odp >>> >>> >>> >>> >>> >>> -- /Thanks & Regards, >>> B.Nousilal, >>> / >>> >>> >>> >>> >>> >>> >>> -- >>> /Thanks & Regards, >>> B.Nousilal, >>> / >>> >> >> > > > -- > > > *Thanks & Regards,B.Nousilal,* > -- *Thanks & Regards,B.Nousilal,*
_______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
