DPDK patches and discussions
 help / color / mirror / Atom feed
From: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
To: David Marchand <david.marchand@redhat.com>,
	Thomas Monjalon <thomas@monjalon.net>
Cc: Olivier Matz <olivier.matz@6wind.com>,
	Dmitry Kozlyuk <dkozlyuk@nvidia.com>,
	Ray Kinsella <mdr@ashroe.eu>,
	Stephen Hemminger <stephen@networkplumber.org>,
	dev <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH] mempool: accept user flags only
Date: Mon, 18 Oct 2021 17:51:48 +0300	[thread overview]
Message-ID: <da7b200b-7dc6-fe8b-b480-b7c5babd424a@oktetlabs.ru> (raw)
In-Reply-To: <CAJFAV8yb=2CDwjXm791pL=jDp4RL8tBu2Cv+LVZfhGKbxhx2_A@mail.gmail.com>

On 10/18/21 3:06 PM, David Marchand wrote:
> On Mon, Oct 18, 2021 at 11:05 AM Andrew Rybchenko
> <andrew.rybchenko@oktetlabs.ru> wrote:
>>>>> +/**
>>>>> + * This macro lists all the mempool flags an application may request.
>>>>> + */
>>>>> +#define MEMPOOL_VALID_USER_FLAGS (MEMPOOL_F_NO_SPREAD \
>>>>
>>>> I think RTE_ prefix is missing here since it is in a public
>>>> header now.
>>>
>>> I discussed about this offline with David. I was ok to omit the
>>> RTE_ prefix for consistency.
>>>
>>>>> +   | MEMPOOL_F_NO_CACHE_ALIGN \
>>>>> +   | MEMPOOL_F_SP_PUT \
>>>>> +   | MEMPOOL_F_SC_GET \
>>>>> +   | MEMPOOL_F_NO_IOVA_CONTIG \
>>>>> +   )
>>>>>  /**
>>>>>   * @internal When debug is enabled, store some statistics.
>>>>>   *
>>>>>
>>>>
>>>> Should we make a patch to add defines with RTE_ prefix and
>>>> add a deprecation for old flags without RTE_ prefix?
>>>>
>>>> Olivier, what do you think? If you have time to care about it,
>>>> it would be great. (I'm unfamiliar with coccinelle yet).
>>>
>>> I was joking with David about keeping some work for 2022 :)
>>>
>>> I will try to have a look. As a side note, I was not that convinced by
>>> coccinelle for simple replacements like this, because it does not
>>> update the comments or documentation, it can (rarely) break the
>>> indentation, it is slow, and the syntax is quite complex.
>>>
>>
>> I dreamed to finish with renanamings in core libraries in 2021.
> 
> Sadly, you are not the only one.
> 
> 
>> May be it is to naive :(
>>
>> I see that rc1 is already delayed and adding a couple of
>> more patches could delay it even more. I'm ready to do it
>> without coccinelle today, so, it is a question to @Thomas and
>> @David if that late patch will be considered at all.
> 
> Thomas?
> 
> As usual, we must avoid unannounced API changes unless waived by Techboard.
> I am not against it if we keep compatilibity (marking RTE_DEPRECATED
> can wait next releases), and seeing how it only impacts a relatively
> low number of places in DPDK.
> 
> Risks are mainly on compilation side, and conflicts with other patches
> in mempool for rc1, but I can only think of Dmitry series and the
> conflict is easy to solve.
> 
> It should be quick to do: when could you send such a patch?

Done.

> 
> 
> What I have seen:
> 
> $ git grep -iE "(define|inline).*\<(|__)mempool" -- lib/mempool/*.h
> lib/mempool/rte_mempool.h:#define       MEMPOOL_PG_SHIFT_MAX
> (sizeof(uintptr_t) * CHAR_BIT - 1)
> lib/mempool/rte_mempool.h:#define       MEMPOOL_PG_NUM_DEFAULT  1
> ^^^
> bit-rot, both can be dropped.
> 
> lib/mempool/rte_mempool.h:#define MEMPOOL_F_NO_SPREAD      0x0001
> lib/mempool/rte_mempool.h:#define MEMPOOL_F_NO_CACHE_ALIGN 0x0002 /**<
> Do not align objs on cache lines.*/
> lib/mempool/rte_mempool.h:#define MEMPOOL_F_SP_PUT         0x0004 /**<
> Default put is "single-producer".*/
> lib/mempool/rte_mempool.h:#define MEMPOOL_F_SC_GET         0x0008 /**<
> Default get is "single-consumer".*/
> lib/mempool/rte_mempool.h:#define MEMPOOL_F_POOL_CREATED   0x0010 /**<
> Internal: pool is created. */
> lib/mempool/rte_mempool.h:#define MEMPOOL_F_NO_IOVA_CONTIG 0x0020 /**<
> Don't need IOVA contiguous objs. */
> lib/mempool/rte_mempool.h:#define MEMPOOL_VALID_USER_FLAGS
> (MEMPOOL_F_NO_SPREAD \
> 
> lib/mempool/rte_mempool.h:#define __MEMPOOL_STAT_ADD(mp, name, n) do {
>                    \
> lib/mempool/rte_mempool.h:#define __MEMPOOL_STAT_ADD(mp, name, n) do {} while(0)
> lib/mempool/rte_mempool.h:#define MEMPOOL_HEADER_SIZE(mp, cs) \
> lib/mempool/rte_mempool.h:static inline struct rte_mempool_objhdr
> *__mempool_get_header(void *obj)
> lib/mempool/rte_mempool.h:static inline struct rte_mempool_objtlr
> *__mempool_get_trailer(void *obj)
> lib/mempool/rte_mempool.h:#define __mempool_check_cookies(mp,
> obj_table_const, n, free) \
> lib/mempool/rte_mempool.h:#define __mempool_check_cookies(mp,
> obj_table_const, n, free) do {} while(0)
> lib/mempool/rte_mempool.h:#define
> __mempool_contig_blocks_check_cookies(mp, first_obj_table_const, n, \
> lib/mempool/rte_mempool.h:#define
> __mempool_contig_blocks_check_cookies(mp, first_obj_table_const, n, \
> ^^
> Internal stuff, but I would prefix in any case.
> 
> lib/mempool/rte_mempool.h:#define MEMPOOL_REGISTER_OPS(ops)
>                  \

Many thanks for the grep. I'd lost something without it.


  reply	other threads:[~2021-10-18 14:51 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-18  8:26 David Marchand
2021-10-18  8:35 ` Olivier Matz
2021-10-20  7:53   ` David Marchand
2021-10-18  8:37 ` Andrew Rybchenko
2021-10-18  8:58   ` Olivier Matz
2021-10-18  9:05     ` Andrew Rybchenko
2021-10-18 12:06       ` David Marchand
2021-10-18 14:51         ` Andrew Rybchenko [this message]
2021-10-19 13:42   ` David Marchand
2021-10-19 18:17     ` Andrew Rybchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=da7b200b-7dc6-fe8b-b480-b7c5babd424a@oktetlabs.ru \
    --to=andrew.rybchenko@oktetlabs.ru \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=dkozlyuk@nvidia.com \
    --cc=mdr@ashroe.eu \
    --cc=olivier.matz@6wind.com \
    --cc=stephen@networkplumber.org \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).