malloc: fix duplicate mem event notification
Checks
Commit Message
We already trigger a mem event notification inside the walk function,
no need to do it twice.
Fixes: f32c7c9de961 ("malloc: enable event callbacks for external memory")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
lib/librte_eal/common/rte_malloc.c | 4 ----
1 file changed, 4 deletions(-)
Comments
> On Nov 29, 2018, at 8:21 AM, Anatoly Burakov <anatoly.burakov@intel.com> wrote:
>
> We already trigger a mem event notification inside the walk function,
> no need to do it twice.
>
> Fixes: f32c7c9de961 ("malloc: enable event callbacks for external memory")
> Cc: stable@dpdk.org
>
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
> ---
> lib/librte_eal/common/rte_malloc.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/lib/librte_eal/common/rte_malloc.c b/lib/librte_eal/common/rte_malloc.c
> index 0da5ad5e8..750a83c2c 100644
> --- a/lib/librte_eal/common/rte_malloc.c
> +++ b/lib/librte_eal/common/rte_malloc.c
> @@ -518,10 +518,6 @@ sync_memory(const char *heap_name, void *va_addr, size_t len, bool attach)
> rte_errno = -wa.result;
> ret = -1;
> } else {
> - /* notify all subscribers that a new memory area was added */
> - if (attach)
> - eal_memalloc_mem_event_notify(RTE_MEM_EVENT_ALLOC,
> - va_addr, len);
> ret = 0;
> }
This change leaves
else {
ret = 0;
}
Needs to be:
else
ret = 0;
> unlock:
> --
> 2.17.1
Regards,
Keith
On 29-Nov-18 2:54 PM, Wiles, Keith wrote:
>
>
>> On Nov 29, 2018, at 8:21 AM, Anatoly Burakov <anatoly.burakov@intel.com> wrote:
>>
>> We already trigger a mem event notification inside the walk function,
>> no need to do it twice.
>>
>> Fixes: f32c7c9de961 ("malloc: enable event callbacks for external memory")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
>> ---
>> lib/librte_eal/common/rte_malloc.c | 4 ----
>> 1 file changed, 4 deletions(-)
>>
>> diff --git a/lib/librte_eal/common/rte_malloc.c b/lib/librte_eal/common/rte_malloc.c
>> index 0da5ad5e8..750a83c2c 100644
>> --- a/lib/librte_eal/common/rte_malloc.c
>> +++ b/lib/librte_eal/common/rte_malloc.c
>> @@ -518,10 +518,6 @@ sync_memory(const char *heap_name, void *va_addr, size_t len, bool attach)
>> rte_errno = -wa.result;
>> ret = -1;
>> } else {
>> - /* notify all subscribers that a new memory area was added */
>> - if (attach)
>> - eal_memalloc_mem_event_notify(RTE_MEM_EVENT_ALLOC,
>> - va_addr, len);
>> ret = 0;
>> }
>
> This change leaves
> else {
> ret = 0;
> }
>
> Needs to be:
> else
> ret = 0;
>
Checkpatch disagrees :P Brackets are needed everywhere if at least one
of the branches is a multiline branch. No brackets needed only if all
branches are one-line branches.
As a side note, I would also argue that we shouldn't leave bracket-less
if statements altogether, because it makes for extra effort whenever a
single-line statement inevitably becomes a multiline one (e.g. could be
as simple as putting in a debug printf - i now have to add brackets
everywhere...). But that's a topic for another day :)
>
>> unlock:
>> --
>> 2.17.1
>
> Regards,
> Keith
>
>
On 29-Nov-18 3:18 PM, Anatoly Burakov wrote:
> We already trigger a mem event notification inside the walk function,
> no need to do it twice.
>
> Fixes: f32c7c9de961 ("malloc: enable event callbacks for external memory")
> Cc: stable@dpdk.org
>
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
> ---
> lib/librte_eal/common/rte_malloc.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/lib/librte_eal/common/rte_malloc.c b/lib/librte_eal/common/rte_malloc.c
> index 0da5ad5e8..750a83c2c 100644
> --- a/lib/librte_eal/common/rte_malloc.c
> +++ b/lib/librte_eal/common/rte_malloc.c
> @@ -518,10 +518,6 @@ sync_memory(const char *heap_name, void *va_addr, size_t len, bool attach)
> rte_errno = -wa.result;
> ret = -1;
> } else {
> - /* notify all subscribers that a new memory area was added */
> - if (attach)
> - eal_memalloc_mem_event_notify(RTE_MEM_EVENT_ALLOC,
> - va_addr, len);
> ret = 0;
> }
> unlock:
>
Oops, dupe.
> On Nov 29, 2018, at 9:36 AM, Burakov, Anatoly <anatoly.burakov@intel.com> wrote:
>
> On 29-Nov-18 2:54 PM, Wiles, Keith wrote:
>>> On Nov 29, 2018, at 8:21 AM, Anatoly Burakov <anatoly.burakov@intel.com> wrote:
>>>
>>> We already trigger a mem event notification inside the walk function,
>>> no need to do it twice.
>>>
>>> Fixes: f32c7c9de961 ("malloc: enable event callbacks for external memory")
>>> Cc: stable@dpdk.org
>>>
>>> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
>>> ---
>>> lib/librte_eal/common/rte_malloc.c | 4 ----
>>> 1 file changed, 4 deletions(-)
>>>
>>> diff --git a/lib/librte_eal/common/rte_malloc.c b/lib/librte_eal/common/rte_malloc.c
>>> index 0da5ad5e8..750a83c2c 100644
>>> --- a/lib/librte_eal/common/rte_malloc.c
>>> +++ b/lib/librte_eal/common/rte_malloc.c
>>> @@ -518,10 +518,6 @@ sync_memory(const char *heap_name, void *va_addr, size_t len, bool attach)
>>> rte_errno = -wa.result;
>>> ret = -1;
>>> } else {
>>> - /* notify all subscribers that a new memory area was added */
>>> - if (attach)
>>> - eal_memalloc_mem_event_notify(RTE_MEM_EVENT_ALLOC,
>>> - va_addr, len);
>>> ret = 0;
>>> }
>> This change leaves
>> else {
>> ret = 0;
>> }
>> Needs to be:
>> else
>> ret = 0;
>
> Checkpatch disagrees :P Brackets are needed everywhere if at least one of the branches is a multiline branch. No brackets needed only if all branches are one-line branches.
>
> As a side note, I would also argue that we shouldn't leave bracket-less if statements altogether, because it makes for extra effort whenever a single-line statement inevitably becomes a multiline one (e.g. could be as simple as putting in a debug printf - i now have to add brackets everywhere...). But that's a topic for another day :)
Well it seems to be a very questionable formatting to leave the else with brackets in a single line style IMO.
Also look at section 1.6.2 in DPDK coding style as it states something different.
* Closing and opening braces go on the same line as the else keyword.
* Braces that are not necessary should be left out.
if (test)
stmt;
else if (bar) {
stmt;
stmt;
} else
stmt;
Note the last else here. Looking at this code it appears check patch is wrong here compared to the DPDK coding style.
>
>>> unlock:
>>> --
>>> 2.17.1
>> Regards,
>> Keith
>
>
> --
> Thanks,
> Anatoly
Regards,
Keith
On 11/29/2018 3:47 PM, Wiles, Keith wrote:
>
>
>> On Nov 29, 2018, at 9:36 AM, Burakov, Anatoly <anatoly.burakov@intel.com> wrote:
>>
>> On 29-Nov-18 2:54 PM, Wiles, Keith wrote:
>>>> On Nov 29, 2018, at 8:21 AM, Anatoly Burakov <anatoly.burakov@intel.com> wrote:
>>>>
>>>> We already trigger a mem event notification inside the walk function,
>>>> no need to do it twice.
>>>>
>>>> Fixes: f32c7c9de961 ("malloc: enable event callbacks for external memory")
>>>> Cc: stable@dpdk.org
>>>>
>>>> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
>>>> ---
>>>> lib/librte_eal/common/rte_malloc.c | 4 ----
>>>> 1 file changed, 4 deletions(-)
>>>>
>>>> diff --git a/lib/librte_eal/common/rte_malloc.c b/lib/librte_eal/common/rte_malloc.c
>>>> index 0da5ad5e8..750a83c2c 100644
>>>> --- a/lib/librte_eal/common/rte_malloc.c
>>>> +++ b/lib/librte_eal/common/rte_malloc.c
>>>> @@ -518,10 +518,6 @@ sync_memory(const char *heap_name, void *va_addr, size_t len, bool attach)
>>>> rte_errno = -wa.result;
>>>> ret = -1;
>>>> } else {
>>>> - /* notify all subscribers that a new memory area was added */
>>>> - if (attach)
>>>> - eal_memalloc_mem_event_notify(RTE_MEM_EVENT_ALLOC,
>>>> - va_addr, len);
>>>> ret = 0;
>>>> }
>>> This change leaves
>>> else {
>>> ret = 0;
>>> }
>>> Needs to be:
>>> else
>>> ret = 0;
>>
>> Checkpatch disagrees :P Brackets are needed everywhere if at least one of the branches is a multiline branch. No brackets needed only if all branches are one-line branches.
>>
>> As a side note, I would also argue that we shouldn't leave bracket-less if statements altogether, because it makes for extra effort whenever a single-line statement inevitably becomes a multiline one (e.g. could be as simple as putting in a debug printf - i now have to add brackets everywhere...). But that's a topic for another day :)
>
> Well it seems to be a very questionable formatting to leave the else with brackets in a single line style IMO.
>
> Also look at section 1.6.2 in DPDK coding style as it states something different.
>
> * Closing and opening braces go on the same line as the else keyword.
> * Braces that are not necessary should be left out.
>
> if (test)
> stmt;
> else if (bar) {
> stmt;
> stmt;
> } else
> stmt;
>
> Note the last else here. Looking at this code it appears check patch is wrong here compared to the DPDK coding style.
Yes we diverge a little there, Linux prefers if a leg of the branch has braces
other legs should have it, we left out braces whenever we can.
@@ -518,10 +518,6 @@ sync_memory(const char *heap_name, void *va_addr, size_t len, bool attach)
rte_errno = -wa.result;
ret = -1;
} else {
- /* notify all subscribers that a new memory area was added */
- if (attach)
- eal_memalloc_mem_event_notify(RTE_MEM_EVENT_ALLOC,
- va_addr, len);
ret = 0;
}
unlock: