[dpdk-dev] [PATCH v3 08/13] eal: replace rte_panic instances in hugepage_info

Arnon Warshavsky arnon at qwilt.com
Mon Apr 16 16:45:51 CEST 2018


Thanks Anatoly
Will do

On Mon, Apr 16, 2018 at 2:30 PM, Burakov, Anatoly <anatoly.burakov at intel.com
> wrote:

> On 13-Apr-18 7:30 PM, Arnon Warshavsky wrote:
>
>> replace panic calls with log and retrun value.
>>
>> Signed-off-by: Arnon Warshavsky <arnon at qwilt.com>
>> ---
>>   lib/librte_eal/linuxapp/eal/eal_hugepage_info.c | 21
>> +++++++++++++++------
>>   1 file changed, 15 insertions(+), 6 deletions(-)
>>
>> diff --git a/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c
>> b/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c
>> index 8bbf771..43af5b5 100644
>> --- a/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c
>> +++ b/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c
>> @@ -80,8 +80,11 @@
>>         unsigned long long size = 0;
>>         FILE *fd = fopen(proc_meminfo, "r");
>> -       if (fd == NULL)
>> -               rte_panic("Cannot open %s\n", proc_meminfo);
>> +       if (fd == NULL) {
>> +               RTE_LOG(CRIT, EAL, "%s(): Cannot open %s\n",
>> +                               __func__, proc_meminfo);
>> +               return 0;
>> +       }
>>         while(fgets(buffer, sizeof(buffer), fd)){
>>                 if (strncmp(buffer, str_hugepagesz, hugepagesz_len) == 0){
>>                         size = rte_str_to_size(&buffer[hugepagesz_len]);
>> @@ -89,8 +92,11 @@
>>                 }
>>         }
>>         fclose(fd);
>> -       if (size == 0)
>> -               rte_panic("Cannot get default hugepage size from %s\n",
>> proc_meminfo);
>> +       if (size == 0) {
>> +               RTE_LOG(CRIT, EAL, "%s(): Cannot get default hugepage
>> size from %s\n",
>> +                                                __func__, proc_meminfo);
>> +               return 0;
>> +       }
>>         return size;
>>
>
> If returning default hugepage size of 0 is now a possibility, the calling
> code needs to be able to handle that. Perhaps rewrite it as returning int,
> and accepting pointer to pagesz? e.g.
>
> static int get_default_hp_size(uint64_t *page_sz)
>
> and fix the code below to handle error in reading default page size?
>
>   }
>>   @@ -116,8 +122,11 @@
>>         char *retval = NULL;
>>         FILE *fd = fopen(proc_mounts, "r");
>> -       if (fd == NULL)
>> -               rte_panic("Cannot open %s\n", proc_mounts);
>> +       if (fd == NULL) {
>> +               RTE_LOG(CRIT, EAL, "%s(): Cannot open %s\n",
>> +                               __func__, proc_mounts);
>> +               return NULL;
>> +       }
>>         if (default_size == 0)
>>                 default_size = get_default_hp_size();
>>
>>
> --
> Thanks,
> Anatoly
>



-- 

*Arnon Warshavsky*
*Qwilt | work: +972-72-2221634 | mobile: +972-50-8583058 | arnon at qwilt.com
<arnon at qwilt.com>*


More information about the dev mailing list