Hi Ferruh, Sorry that we missed the 32-bit build verification. I have created the fix path. https://patches.dpdk.org/patch/68831/
Thanks SuanmingMou > -----Original Message----- > From: Ferruh Yigit <ferruh.yi...@intel.com> > Sent: Friday, April 17, 2020 10:59 PM > To: Suanming Mou <suanmi...@mellanox.com>; Raslan Darawsheh > <rasl...@mellanox.com> > Cc: Slava Ovsiienko <viachesl...@mellanox.com>; Matan Azrad > <ma...@mellanox.com>; dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v2 00/10] net/mlx5: optimize flow resource > allocation > > On 4/16/2020 3:41 AM, Suanming Mou wrote: > > Currently, flow may allocate several action resources during creation. > > Both allocate the individual resources and save the object handles > > have big memory overhead for the flow. > > > > Indexed memory pool is introduced to optimize the memory overhead. The > > resources can be allocated from the resource's own individual memory > > pool and only the 32-bits index is saved to the flow. > > > > In this case, it saves MALLOC_ELEM_OVERHEAD and 4 bytes for every flow > > resources. > > > > This patch series depends on the path which has been acked as below: > > https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatc > > > hes.dpdk.org%2Fpatch%2F68143%2F&data=02%7C01%7Csuanmingm%40 > mellano > > > x.com%7Caf4087bccbb442edf12708d7e2dfd396%7Ca652971c7d2e4d9ba6a4d1 > 49256 > > > f461b%7C0%7C0%7C637227323276924116&sdata=i09jTFpq%2FUGRvhBi% > 2BpJei > > nBZeBm2LyE528UQ%2F7L1rWY%3D&reserved=0 > > > > v2: > > - rebase to the lastet version. > > - add the missing 10th patch. > > > > Suanming Mou (10): > > net/mlx5: add indexed memory pool > > net/mlx5: add trunk dynamic grow for indexed pool > > net/mlx5: add trunk release for indexed pool > > net/mlx5: convert encap/decap resource to indexed > > net/mlx5: convert push VLAN resource to indexed > > net/mlx5: convert tag resource to indexed > > net/mlx5: convert port id action to indexed > > net/mlx5: convert jump resource to indexed > > net/mlx5: convert hrxq to indexed > > net/mlx5: convert flow dev handle to indexed > > Hi Suanming, Raslan, > > There is a 32-bit build error [1], can you please check it? > > [1] > .../drivers/net/mlx5/mlx5_utils.c: In function ‘mlx5_ipool_dump’: > .../drivers/net/mlx5/mlx5_utils.c:475:26: error: format ‘%ld’ expects argument > of type ‘long int’, but argument 3 has type ‘int64_t’ {aka ‘long long int’} [- > Werror=format=] > 475 | printf("Pool %s entry %ld, trunk alloc %ld, empty: %ld, " > | ~~^ > | | > | long int > | %lld > 476 | "available %ld free %ld\n", > 477 | pool->cfg.type, pool->n_entry, pool->trunk_new, > | ~~~~~~~~~~~~~ > | | > | int64_t {aka long long int} > .../drivers/net/mlx5/mlx5_utils.c:475:43: error: format ‘%ld’ expects argument > of type ‘long int’, but argument 4 has type ‘int64_t’ {aka ‘long long int’} [- > Werror=format=] > 475 | printf("Pool %s entry %ld, trunk alloc %ld, empty: %ld, " > | ~~^ > | | > | long int > | %lld > 476 | "available %ld free %ld\n", > 477 | pool->cfg.type, pool->n_entry, pool->trunk_new, > | ~~~~~~~~~~~~~~~ > | | > | int64_t {aka long long int} > .../drivers/net/mlx5/mlx5_utils.c:475:55: error: format ‘%ld’ expects argument > of type ‘long int’, but argument 5 has type ‘int64_t’ {aka ‘long long int’} [- > Werror=format=] > 475 | printf("Pool %s entry %ld, trunk alloc %ld, empty: %ld, " > | ~~^ > | | > | long int > | %lld > ...... > 478 | pool->trunk_empty, pool->trunk_avail, pool->trunk_free); > | ~~~~~~~~~~~~~~~~~ > | | > | int64_t {aka long long int} > .../drivers/net/mlx5/mlx5_utils.c:475:9: error: format ‘%ld’ expects argument > of > type ‘long int’, but argument 6 has type ‘int64_t’ {aka ‘long long int’} [- > Werror=format=] > 475 | printf("Pool %s entry %ld, trunk alloc %ld, empty: %ld, " > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ...... > 478 | pool->trunk_empty, pool->trunk_avail, pool->trunk_free); > | ~~~~~~~~~~~~~~~~~ > | | > | int64_t {aka long long int} > .../drivers/net/mlx5/mlx5_utils.c:476:22: note: format string is defined here > 476 | "available %ld free %ld\n", > | ~~^ > | | > | long int > | %lld > .../drivers/net/mlx5/mlx5_utils.c:475:9: error: format ‘%ld’ expects argument > of > type ‘long int’, but argument 7 has type ‘int64_t’ {aka ‘long long int’} [- > Werror=format=] > 475 | printf("Pool %s entry %ld, trunk alloc %ld, empty: %ld, " > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ...... > 478 | pool->trunk_empty, pool->trunk_avail, pool->trunk_free); > | ~~~~~~~~~~~~~~~~ > | | > | int64_t {aka long > long > int} > .../drivers/net/mlx5/mlx5_utils.c:476:31: note: format string is > defined here > 476 | "available %ld free %ld\n", > | ~~^ > | | > | long int > | %lld > cc1: all warnings being treated as errors