Hi Nitin, Both 2M and 1G are supported by pmalloc, but they are not supported at same time, as system is configured with either 2M or 1G hugepages, not both at the same time. Thanks. From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Nitin Saxena via lists.fd.io Sent: 2020年7月29日 15:23 To: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com>; Damjan Marion <dmar...@me.com> Cc: Lijian Zhang <lijian.zh...@arm.com>; vpp-dev <vpp-dev@lists.fd.io>; nd <n...@arm.com>; Govindarajan Mohandoss <govindarajan.mohand...@arm.com>; Jieqiang Wang <jieqiang.w...@arm.com> Subject: Re: [vpp-dev] Create big tables on huge-page
Hi Lijian, +1 on the finding. It would be interested to know how much is the performance gain. Having said that, correct me if I am wrong, I think pmalloc module works only on single hugepage size (pm->def_log2_page_sz) which means either 1G or 2M and not both Thanks, Nitin From: vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io> <vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>> On Behalf Of Honnappa Nagarahalli Sent: Thursday, July 23, 2020 10:53 PM To: Damjan Marion <dmar...@me.com<mailto:dmar...@me.com>> Cc: Lijian Zhang <lijian.zh...@arm.com<mailto:lijian.zh...@arm.com>>; vpp-dev <vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>>; nd <n...@arm.com<mailto:n...@arm.com>>; Govindarajan Mohandoss <govindarajan.mohand...@arm.com<mailto:govindarajan.mohand...@arm.com>>; Jieqiang Wang <jieqiang.w...@arm.com<mailto:jieqiang.w...@arm.com>>; Honnappa Nagarahalli <honnappa.nagaraha...@arm.com<mailto:honnappa.nagaraha...@arm.com>> Subject: [EXT] Re: [vpp-dev] Create big tables on huge-page External Email ________________________________ Sure. We will create couple of patches (in the areas we are analyzing currently) and we can decide from there. Thanks, Honnappa From: Damjan Marion <dmar...@me.com<mailto:dmar...@me.com>> Sent: Thursday, July 23, 2020 12:17 PM To: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com<mailto:honnappa.nagaraha...@arm.com>> Cc: Lijian Zhang <lijian.zh...@arm.com<mailto:lijian.zh...@arm.com>>; vpp-dev <vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>>; nd <n...@arm.com<mailto:n...@arm.com>>; Govindarajan Mohandoss <govindarajan.mohand...@arm.com<mailto:govindarajan.mohand...@arm.com>>; Jieqiang Wang <jieqiang.w...@arm.com<mailto:jieqiang.w...@arm.com>> Subject: Re: [vpp-dev] Create big tables on huge-page Hard to say without seeing the patch. Can you summarize what the changes will be in each particular .c file? On 23 Jul 2020, at 18:00, Honnappa Nagarahalli <honnappa.nagaraha...@arm.com<mailto:honnappa.nagaraha...@arm.com>> wrote: Hi Damjan, Thank you. Till your patch is ready, would you accept patches that would enable creating these tables in 1G huge pages as temporary solution? Thanks, Honnappa From: Damjan Marion <dmar...@me.com<mailto:dmar...@me.com>> Sent: Thursday, July 23, 2020 7:15 AM To: Lijian Zhang <lijian.zh...@arm.com<mailto:lijian.zh...@arm.com>> Cc: vpp-dev <vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>>; nd <n...@arm.com<mailto:n...@arm.com>>; Honnappa Nagarahalli <honnappa.nagaraha...@arm.com<mailto:honnappa.nagaraha...@arm.com>>; Govindarajan Mohandoss <govindarajan.mohand...@arm.com<mailto:govindarajan.mohand...@arm.com>>; Jieqiang Wang <jieqiang.w...@arm.com<mailto:jieqiang.w...@arm.com>> Subject: Re: [vpp-dev] Create big tables on huge-page I started working on patch which addresses most of this points, few weeks ago, but likely I will not have it completed for 20.09. Even if it is completed, it is probably bad idea to merge it so late in the release process…. — Damjan On 23 Jul 2020, at 10:45, Lijian Zhang <lijian.zh...@arm.com<mailto:lijian.zh...@arm.com>> wrote: Hi Maintainers, From VPP source code, ip4-mtrie table is created on huge-page only when below parameters are set in configuration file. While adjacency table is created on normal-page always. 36 ip { 37 heap-size 256M 38 mtrie-hugetlb 39 } In the 10K flow testing, I configured 10K routing entries in ip4-mtrie and 10K entries in adjacency table. By creating ip4-mtrie table on 1G huge-page with above parameters set and similarly create adjacency table on 1G huge-page, although I don’t observe obvious throughput performance improvement, but TLB misses are dramatically reduced. Do you think configuration of 10K routing entries + 10K adjacency entries is a reasonable and possible config, or normally it would be 10K routing entries + only several adjacency entries? Does it make sense to create adjacency table on huge-pages? Another problem is although above assigned heap-size is 256M, but on 1G huge-page system, it seems to occupy a huge-page completely, other memory space within that huge-page seems will not be used by other tables. Same as the bihash based tables, only 2M huge-page system is supported. To support creating bihash based tables on 1G huge-page system, each table will occupy a 1G huge-page completely, but that will waste a lot of memories. Is it possible just like pmalloc module, reserving a big memory space on 1G/2M huge-pages in initialization stage, and then allocate memory pieces per requirement for Bihash, ip4-mtrie and adjacency tables, so that all tables could be created on huge-pages and will fully utilize the huge-pages. I tried to create MAC table on 1G huge-page, and it does improve throughput performance. vpp# show bihash Name Actual Configured GBP Endpoints - MAC/BD 1m 1m b4s 64m 64m b4s 64m 64m in2out 10.12m 10.12m in2out 10.12m 10.12m ip4-dr 2m 2m ip4-dr 2m 2m ip6 FIB fwding table 32m 32m ip6 FIB non-fwding table 32m 32m ip6 mFIB table 32m 32m l2fib mac table 512m 512m mapping_by_as4 64m 64m out2in 128m 128m out2in 128m 128m out2in 10.12m 10.12m out2in 10.12m 10.12m pppoe link table 8m 8m pppoe session table 8m 8m static_mapping_by_external 64m 64m static_mapping_by_local 64m 64m stn addresses 1m 1m users 648k 648k users 648k 648k vip_index_per_port 64m 64m vxlan4 1m 1m vxlan4-gbp 1m 1m Total 1.28g 1.28g Thanks.
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#17126): https://lists.fd.io/g/vpp-dev/message/17126 Mute This Topic: https://lists.fd.io/mt/75742152/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-