From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 210CDA320B
	for <public@inbox.dpdk.org>; Mon, 21 Oct 2019 15:24:19 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id ED82A1BF21;
	Mon, 21 Oct 2019 15:24:17 +0200 (CEST)
Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com
 [205.139.110.120]) by dpdk.org (Postfix) with ESMTP id DF20A1BF1E
 for <dev@dpdk.org>; Mon, 21 Oct 2019 15:24:15 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
 s=mimecast20190719; t=1571664255;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=adtzq9LTH+LoQVZnP+zuKqYfYiX1tASKwiBgqrlAU18=;
 b=gMU/nnVT5kcxsF6WJy8Gp3wlvsOunePkKihulLz9Hx7Fr3PW4tBMMPNub9L9DLSvi37vag
 PqyHPB3ZwjMHY6L2dyNp8DigjgjwxE1h2pliP4m2BGEAm0xSmdyogHQ3Tl9TR1YnLkyTEf
 M95vVMBkvr9sZf/PHKihLHJjE9kzT+8=
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
 us-mta-230-0ukX8-XiNMGdPIOPyc2cwQ-1; Mon, 21 Oct 2019 09:24:11 -0400
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com
 [10.5.11.15])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 11C941800DCA;
 Mon, 21 Oct 2019 13:24:05 +0000 (UTC)
Received: from [10.36.118.52] (unknown [10.36.118.52])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 7CAE95459C;
 Mon, 21 Oct 2019 13:24:02 +0000 (UTC)
From: Kevin Traynor <ktraynor@redhat.com>
To: Anatoly Burakov <anatoly.burakov@intel.com>, dev@dpdk.org
Cc: Marcin Baran <marcinx.baran@intel.com>,
 Robert Sanford <rsanford@akamai.com>,
 Erik Gabriel Carrillo <erik.g.carrillo@intel.com>, john.mcnamara@intel.com,
 bruce.richardson@intel.com, thomas@monjalon.net, david.marchand@redhat.com
References: <cover.1571322634.git.anatoly.burakov@intel.com>
 <7eba69a7c008f5ab62fd3a207430ef6a182e1622.1571322634.git.anatoly.burakov@intel.com>
Message-ID: <e053c973-6fac-3251-2ec1-9c0d2e75dd95@redhat.com>
Date: Mon, 21 Oct 2019 14:24:01 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.1.1
MIME-Version: 1.0
In-Reply-To: <7eba69a7c008f5ab62fd3a207430ef6a182e1622.1571322634.git.anatoly.burakov@intel.com>
Content-Language: en-US
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15
X-MC-Unique: 0ukX8-XiNMGdPIOPyc2cwQ-1
X-Mimecast-Spam-Score: 0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Subject: Re: [dpdk-dev] [PATCH v4 04/10] timer: remove deprecated code
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

On 17/10/2019 15:31, Anatoly Burakov wrote:
> From: Marcin Baran <marcinx.baran@intel.com>
>=20
> Remove code for old ABI versions ahead of ABI version bump.
>=20

I think there needs to be some doc updates for this.

Looking at http://doc.dpdk.org/guides/rel_notes/deprecation.html there
is nothing saying these functions are deprecated? (probably same issue
for other 'remove deprecated code' patches)

There should probably be an entry in the API/ABI changes section of the
release notes too.

> Signed-off-by: Marcin Baran <marcinx.baran@intel.com>
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>=20
> Notes:
>     v2:
>     - Moved this to before ABI version bump to avoid compile breakage
>=20
>  lib/librte_timer/rte_timer.c | 90 ++----------------------------------
>  lib/librte_timer/rte_timer.h | 15 ------
>  2 files changed, 5 insertions(+), 100 deletions(-)
>=20
> diff --git a/lib/librte_timer/rte_timer.c b/lib/librte_timer/rte_timer.c
> index bdcf05d06b..de6959b809 100644
> --- a/lib/librte_timer/rte_timer.c
> +++ b/lib/librte_timer/rte_timer.c
> @@ -68,9 +68,6 @@ static struct rte_timer_data *rte_timer_data_arr;
>  static const uint32_t default_data_id;
>  static uint32_t rte_timer_subsystem_initialized;
> =20
> -/* For maintaining older interfaces for a period */
> -static struct rte_timer_data default_timer_data;
> -
>  /* when debug is enabled, store some statistics */
>  #ifdef RTE_LIBRTE_TIMER_DEBUG
>  #define __TIMER_STAT_ADD(priv_timer, name, n) do {=09=09=09\
> @@ -131,22 +128,6 @@ rte_timer_data_dealloc(uint32_t id)
>  =09return 0;
>  }
> =20
> -void
> -rte_timer_subsystem_init_v20(void)
> -{
> -=09unsigned lcore_id;
> -=09struct priv_timer *priv_timer =3D default_timer_data.priv_timer;
> -
> -=09/* since priv_timer is static, it's zeroed by default, so only init s=
ome
> -=09 * fields.
> -=09 */
> -=09for (lcore_id =3D 0; lcore_id < RTE_MAX_LCORE; lcore_id ++) {
> -=09=09rte_spinlock_init(&priv_timer[lcore_id].list_lock);
> -=09=09priv_timer[lcore_id].prev_lcore =3D lcore_id;
> -=09}
> -}
> -VERSION_SYMBOL(rte_timer_subsystem_init, _v20, 2.0);
> -
>  /* Init the timer library. Allocate an array of timer data structs in sh=
ared
>   * memory, and allocate the zeroth entry for use with original timer
>   * APIs. Since the intersection of the sets of lcore ids in primary and
> @@ -154,7 +135,7 @@ VERSION_SYMBOL(rte_timer_subsystem_init, _v20, 2.0);
>   * multiple processes.
>   */
>  int
> -rte_timer_subsystem_init_v1905(void)
> +rte_timer_subsystem_init(void)
>  {
>  =09const struct rte_memzone *mz;
>  =09struct rte_timer_data *data;
> @@ -209,9 +190,6 @@ rte_timer_subsystem_init_v1905(void)
> =20
>  =09return 0;
>  }
> -MAP_STATIC_SYMBOL(int rte_timer_subsystem_init(void),
> -=09=09  rte_timer_subsystem_init_v1905);
> -BIND_DEFAULT_SYMBOL(rte_timer_subsystem_init, _v1905, 19.05);
> =20
>  void
>  rte_timer_subsystem_finalize(void)
> @@ -552,42 +530,13 @@ __rte_timer_reset(struct rte_timer *tim, uint64_t e=
xpire,
> =20
>  /* Reset and start the timer associated with the timer handle tim */
>  int
> -rte_timer_reset_v20(struct rte_timer *tim, uint64_t ticks,
> -=09=09    enum rte_timer_type type, unsigned int tim_lcore,
> -=09=09    rte_timer_cb_t fct, void *arg)
> -{
> -=09uint64_t cur_time =3D rte_get_timer_cycles();
> -=09uint64_t period;
> -
> -=09if (unlikely((tim_lcore !=3D (unsigned)LCORE_ID_ANY) &&
> -=09=09=09!(rte_lcore_is_enabled(tim_lcore) ||
> -=09=09=09  rte_lcore_has_role(tim_lcore, ROLE_SERVICE))))
> -=09=09return -1;
> -
> -=09if (type =3D=3D PERIODICAL)
> -=09=09period =3D ticks;
> -=09else
> -=09=09period =3D 0;
> -
> -=09return __rte_timer_reset(tim,  cur_time + ticks, period, tim_lcore,
> -=09=09=09  fct, arg, 0, &default_timer_data);
> -}
> -VERSION_SYMBOL(rte_timer_reset, _v20, 2.0);
> -
> -int
> -rte_timer_reset_v1905(struct rte_timer *tim, uint64_t ticks,
> +rte_timer_reset(struct rte_timer *tim, uint64_t ticks,
>  =09=09      enum rte_timer_type type, unsigned int tim_lcore,
>  =09=09      rte_timer_cb_t fct, void *arg)
>  {
>  =09return rte_timer_alt_reset(default_data_id, tim, ticks, type,
>  =09=09=09=09   tim_lcore, fct, arg);
>  }
> -MAP_STATIC_SYMBOL(int rte_timer_reset(struct rte_timer *tim, uint64_t ti=
cks,
> -=09=09=09=09      enum rte_timer_type type,
> -=09=09=09=09      unsigned int tim_lcore,
> -=09=09=09=09      rte_timer_cb_t fct, void *arg),
> -=09=09  rte_timer_reset_v1905);
> -BIND_DEFAULT_SYMBOL(rte_timer_reset, _v1905, 19.05);
> =20
>  int
>  rte_timer_alt_reset(uint32_t timer_data_id, struct rte_timer *tim,
> @@ -658,20 +607,10 @@ __rte_timer_stop(struct rte_timer *tim, int local_i=
s_locked,
> =20
>  /* Stop the timer associated with the timer handle tim */
>  int
> -rte_timer_stop_v20(struct rte_timer *tim)
> -{
> -=09return __rte_timer_stop(tim, 0, &default_timer_data);
> -}
> -VERSION_SYMBOL(rte_timer_stop, _v20, 2.0);
> -
> -int
> -rte_timer_stop_v1905(struct rte_timer *tim)
> +rte_timer_stop(struct rte_timer *tim)
>  {
>  =09return rte_timer_alt_stop(default_data_id, tim);
>  }
> -MAP_STATIC_SYMBOL(int rte_timer_stop(struct rte_timer *tim),
> -=09=09  rte_timer_stop_v1905);
> -BIND_DEFAULT_SYMBOL(rte_timer_stop, _v1905, 19.05);
> =20
>  int
>  rte_timer_alt_stop(uint32_t timer_data_id, struct rte_timer *tim)
> @@ -817,15 +756,8 @@ __rte_timer_manage(struct rte_timer_data *timer_data=
)
>  =09priv_timer[lcore_id].running_tim =3D NULL;
>  }
> =20
> -void
> -rte_timer_manage_v20(void)
> -{
> -=09__rte_timer_manage(&default_timer_data);
> -}
> -VERSION_SYMBOL(rte_timer_manage, _v20, 2.0);
> -
>  int
> -rte_timer_manage_v1905(void)
> +rte_timer_manage(void)
>  {
>  =09struct rte_timer_data *timer_data;
> =20
> @@ -835,8 +767,6 @@ rte_timer_manage_v1905(void)
> =20
>  =09return 0;
>  }
> -MAP_STATIC_SYMBOL(int rte_timer_manage(void), rte_timer_manage_v1905);
> -BIND_DEFAULT_SYMBOL(rte_timer_manage, _v1905, 19.05);
> =20
>  int
>  rte_timer_alt_manage(uint32_t timer_data_id,
> @@ -1074,21 +1004,11 @@ __rte_timer_dump_stats(struct rte_timer_data *tim=
er_data __rte_unused, FILE *f)
>  #endif
>  }
> =20
> -void
> -rte_timer_dump_stats_v20(FILE *f)
> -{
> -=09__rte_timer_dump_stats(&default_timer_data, f);
> -}
> -VERSION_SYMBOL(rte_timer_dump_stats, _v20, 2.0);
> -
>  int
> -rte_timer_dump_stats_v1905(FILE *f)
> +rte_timer_dump_stats(FILE *f)
>  {
>  =09return rte_timer_alt_dump_stats(default_data_id, f);
>  }
> -MAP_STATIC_SYMBOL(int rte_timer_dump_stats(FILE *f),
> -=09=09  rte_timer_dump_stats_v1905);
> -BIND_DEFAULT_SYMBOL(rte_timer_dump_stats, _v1905, 19.05);
> =20
>  int
>  rte_timer_alt_dump_stats(uint32_t timer_data_id __rte_unused, FILE *f)
> diff --git a/lib/librte_timer/rte_timer.h b/lib/librte_timer/rte_timer.h
> index 05d287d8f2..9dc5fc3092 100644
> --- a/lib/librte_timer/rte_timer.h
> +++ b/lib/librte_timer/rte_timer.h
> @@ -181,8 +181,6 @@ int rte_timer_data_dealloc(uint32_t id);
>   *      subsystem
>   */
>  int rte_timer_subsystem_init(void);
> -int rte_timer_subsystem_init_v1905(void);
> -void rte_timer_subsystem_init_v20(void);
> =20
>  /**
>   * @warning
> @@ -250,13 +248,6 @@ void rte_timer_init(struct rte_timer *tim);
>  int rte_timer_reset(struct rte_timer *tim, uint64_t ticks,
>  =09=09    enum rte_timer_type type, unsigned tim_lcore,
>  =09=09    rte_timer_cb_t fct, void *arg);
> -int rte_timer_reset_v1905(struct rte_timer *tim, uint64_t ticks,
> -=09=09=09  enum rte_timer_type type, unsigned int tim_lcore,
> -=09=09=09  rte_timer_cb_t fct, void *arg);
> -int rte_timer_reset_v20(struct rte_timer *tim, uint64_t ticks,
> -=09=09=09enum rte_timer_type type, unsigned int tim_lcore,
> -=09=09=09rte_timer_cb_t fct, void *arg);
> -
> =20
>  /**
>   * Loop until rte_timer_reset() succeeds.
> @@ -313,8 +304,6 @@ rte_timer_reset_sync(struct rte_timer *tim, uint64_t =
ticks,
>   *   - (-1): The timer is in the RUNNING or CONFIG state.
>   */
>  int rte_timer_stop(struct rte_timer *tim);
> -int rte_timer_stop_v1905(struct rte_timer *tim);
> -int rte_timer_stop_v20(struct rte_timer *tim);
> =20
>  /**
>   * Loop until rte_timer_stop() succeeds.
> @@ -358,8 +347,6 @@ int rte_timer_pending(struct rte_timer *tim);
>   *   - -EINVAL: timer subsystem not yet initialized
>   */
>  int rte_timer_manage(void);
> -int rte_timer_manage_v1905(void);
> -void rte_timer_manage_v20(void);
> =20
>  /**
>   * Dump statistics about timers.
> @@ -371,8 +358,6 @@ void rte_timer_manage_v20(void);
>   *   - -EINVAL: timer subsystem not yet initialized
>   */
>  int rte_timer_dump_stats(FILE *f);
> -int rte_timer_dump_stats_v1905(FILE *f);
> -void rte_timer_dump_stats_v20(FILE *f);
> =20
>  /**
>   * @warning
>=20