On 04/07/15 18:24, Mike Holmes wrote:
ping - this consolidates the global data making the helper and other platform specific clean up easier.


If it was one patch, not 2 it will be absolutely the same number of changes. I would merge that to 1 on applying.

Maxim.


On 1 April 2015 at 18:29, Mike Holmes <mike.hol...@linaro.org <mailto:mike.hol...@linaro.org>> wrote:

    Don't store ODP global data in multiple locations, gather global data
    into odp_global_data.
    Move the static odp_system_info into odp_global_data

    Signed-off-by: Mike Holmes <mike.hol...@linaro.org
    <mailto:mike.hol...@linaro.org>>
    ---
     platform/linux-generic/include/odp_internal.h | 11 +++++++++
     platform/linux-generic/odp_system_info.c      | 33
    +++++++++------------------
     2 files changed, 22 insertions(+), 22 deletions(-)

    diff --git a/platform/linux-generic/include/odp_internal.h
    b/platform/linux-generic/include/odp_internal.h
    index 0961cce..64dee42 100644
    --- a/platform/linux-generic/include/odp_internal.h
    +++ b/platform/linux-generic/include/odp_internal.h
    @@ -22,9 +22,20 @@ extern "C" {

     extern __thread int __odp_errno;

    +typedef struct {
    +       uint64_t cpu_hz;
    +       uint64_t huge_page_size;
    +       uint64_t page_size;
    +       int      cache_line_size;
    +       int      cpu_count;
    +       char     model_str[128];
    +
    +} odp_system_info_t;
    +
     struct odp_global_data_s {
            odp_log_func_t log_fn;
            odp_abort_func_t abort_fn;
    +       odp_system_info_t odp_system_info;
     };

     extern struct odp_global_data_s odp_global_data;
    diff --git a/platform/linux-generic/odp_system_info.c
    b/platform/linux-generic/odp_system_info.c
    index 6b6c723..cae310f 100644
    --- a/platform/linux-generic/odp_system_info.c
    +++ b/platform/linux-generic/odp_system_info.c
    @@ -20,15 +20,7 @@
     #include <sys/types.h>
     #include <dirent.h>

    -typedef struct {
    -       uint64_t cpu_hz;
    -       uint64_t huge_page_size;
    -       uint64_t page_size;
    -       int      cache_line_size;
    -       int      cpu_count;
    -       char     model_str[128];

    -} odp_system_info_t;

     typedef struct {
            const char *cpu_arch_str;
    @@ -36,9 +28,6 @@ typedef struct {

     } odp_compiler_info_t;

    -static odp_system_info_t odp_system_info;
    -
    -
     #define CACHE_LNSZ_FILE \
    "/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size"

    @@ -310,7 +299,7 @@ static int systemcpu(odp_system_info_t *sysinfo)
                    return -1;
            }

    -       odp_system_info.huge_page_size = huge_page_size();
    +       odp_global_data.odp_system_info.huge_page_size =
    huge_page_size();

            return 0;
     }
    @@ -354,9 +343,9 @@ int odp_system_info_init(void)
     {
            FILE  *file;

    -       memset(&odp_system_info, 0, sizeof(odp_system_info_t));
    +       memset(&odp_global_data.odp_system_info, 0,
    sizeof(odp_system_info_t));

    -       odp_system_info.page_size = ODP_PAGE_SIZE;
    +       odp_global_data.odp_system_info.page_size = ODP_PAGE_SIZE;

            file = fopen("/proc/cpuinfo", "rt");
            if (file == NULL) {
    @@ -364,11 +353,11 @@ int odp_system_info_init(void)
                    return -1;
            }

    -       compiler_info.cpuinfo_parser(file, &odp_system_info);
    +       compiler_info.cpuinfo_parser(file,
    &odp_global_data.odp_system_info);

            fclose(file);

    -       if (systemcpu(&odp_system_info)) {
    +       if (systemcpu(&odp_global_data.odp_system_info)) {
                    ODP_ERR("systemcpu failed\n");
                    return -1;
            }
    @@ -383,30 +372,30 @@ int odp_system_info_init(void)
      */
     uint64_t odp_sys_cpu_hz(void)
     {
    -       return odp_system_info.cpu_hz;
    +       return odp_global_data.odp_system_info.cpu_hz;
     }

     uint64_t odp_sys_huge_page_size(void)
     {
    -       return odp_system_info.huge_page_size;
    +       return odp_global_data.odp_system_info.huge_page_size;
     }

     uint64_t odp_sys_page_size(void)
     {
    -       return odp_system_info.page_size;
    +       return odp_global_data.odp_system_info.page_size;
     }

     const char *odp_sys_cpu_model_str(void)
     {
    -       return odp_system_info.model_str;
    +       return odp_global_data.odp_system_info.model_str;
     }

     int odp_sys_cache_line_size(void)
     {
    -       return odp_system_info.cache_line_size;
    +       return odp_global_data.odp_system_info.cache_line_size;
     }

     int odp_cpu_count(void)
     {
    -       return odp_system_info.cpu_count;
    +       return odp_global_data.odp_system_info.cpu_count;
     }
    --
    2.1.0




--
Mike Holmes
Technical Manager - Linaro Networking Group
Linaro.org <http://www.linaro.org/>***│ *Open source software for ARM SoCs



_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to