[dpdk-dev,v8,07/10] eal: replace rte_panic instances in hugepage_info
Checks
Commit Message
replace panic calls with log and return value.
Signed-off-by: Arnon Warshavsky <arnon@qwilt.com>
---
lib/librte_eal/linuxapp/eal/eal_hugepage_info.c | 37 +++++++++++++++++--------
1 file changed, 26 insertions(+), 11 deletions(-)
Comments
On 25-Apr-18 2:45 PM, Arnon Warshavsky wrote:
> replace panic calls with log and return value.
>
> Signed-off-by: Arnon Warshavsky <arnon@qwilt.com>
> ---
I think i've already acked this. You should keep acks etc. between
versions (unless you're making significant enough changes that you think
would invalidate a prior ack). Having acks makes it easier to track what
still needs to be reviewed and what is good to go, and it makes it
easier to see if the entire patchset is ready for apply.
> I think i've already acked this. You should keep acks etc. between
> versions (unless you're making significant enough changes that you think
> would invalidate a prior ack). Having acks makes it easier to track what
> still needs to be reviewed and what is good to go, and it makes it easier
> to see if the entire patchset is ready for apply.
Hmm, so unless I am missing yet another thing - this needs to be done
manually?
On 25-Apr-18 3:02 PM, Arnon Warshavsky wrote:
>
> I think i've already acked this. You should keep acks etc. between
> versions (unless you're making significant enough changes that you
> think would invalidate a prior ack). Having acks makes it easier to
> track what still needs to be reviewed and what is good to go, and it
> makes it easier to see if the entire patchset is ready for apply.
>
>
> Hmm, so unless I am missing yet another thing - this needs to be done
> manually?
>
Yes. Well, if someone series-acks your patch, you can do "git
filter-branch", but for individual patches, yes, you need to do this
manually by editing the commit message.
@@ -145,8 +145,8 @@
return num_pages;
}
-static uint64_t
-get_default_hp_size(void)
+static int
+get_default_hp_size(uint64_t *result)
{
const char proc_meminfo[] = "/proc/meminfo";
const char str_hugepagesz[] = "Hugepagesize:";
@@ -155,8 +155,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 -1;
+ }
while(fgets(buffer, sizeof(buffer), fd)){
if (strncmp(buffer, str_hugepagesz, hugepagesz_len) == 0){
size = rte_str_to_size(&buffer[hugepagesz_len]);
@@ -164,9 +167,13 @@
}
}
fclose(fd);
- if (size == 0)
- rte_panic("Cannot get default hugepage size from %s\n", proc_meminfo);
- return size;
+ if (size == 0) {
+ RTE_LOG(CRIT, EAL, "%s(): Cannot get default hugepage size from %s\n",
+ __func__, proc_meminfo);
+ return -1;
+ }
+ *result = size;
+ return 0;
}
static int
@@ -191,11 +198,19 @@
int retval = -1;
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 -ENOENT;
+ }
- if (default_size == 0)
- default_size = get_default_hp_size();
+ if (default_size == 0) {
+ retval = get_default_hp_size(&default_size);
+ if (retval) {
+ fclose(fd);
+ return retval;
+ }
+ }
while (fgets(buf, sizeof(buf), fd)){
if (rte_strsplit(buf, sizeof(buf), splitstr, _FIELDNAME_MAX,