[PATCH] Add GPU_POWER sensors
Kai Wasserbäch
kai at dev.carbon-project.org
Sat Feb 11 10:56:51 UTC 2017
Hey Tom,
Tom St Denis wrote on 11.02.2017 02:02:
> On 02/10/2017 07:25 PM, Edward O'Callaghan wrote:
>> Hey Tom,
>>
>> On 02/11/2017 05:10 AM, Tom St Denis wrote:
>>> Add the ability to sample GPU_POWER sensors. Because
>>> the sensors have a high latency we read them from a background
>>> thread which means we've added the requirement for pthreads.
>>>
>>> Signed-off-by: Tom St Denis <tom.stdenis at amd.com>
>>> ---
>>> CMakeLists.txt | 5 ++-
>>> README | 6 ++--
>>> src/app/top.c | 88 +++++++++++++++++++++++++++++++++++++++++---------
>>> src/lib/CMakeLists.txt | 1 +
>>> src/lib/read_sensor.c | 37 +++++++++++++++++++++
>>> src/umr.h | 5 +++
>>> 6 files changed, 123 insertions(+), 19 deletions(-)
>>> create mode 100644 src/lib/read_sensor.c
>>>
>>> diff --git a/CMakeLists.txt b/CMakeLists.txt
>>> index ef78c97ad763..7b771d01919b 100644
>>> --- a/CMakeLists.txt
>>> +++ b/CMakeLists.txt
>>> @@ -19,6 +19,9 @@ add_definitions(-DUMR_BUILD_REV=\"${GIT_REV}\")
>>> # Add local repository for FindXXX.cmake modules.
>>> SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules/"
>>> ${CMAKE_MODULE_PATH})
>>>
>>> +find_package(Threads REQUIRED)
>>> +include_directories(${THREADS_INCLUDE_DIRS})
>> Do you need this include_directories() line?
>>
>>> +
>>> find_package(Curses REQUIRED)
>>> include_directories(${CURSES_INCLUDE_DIRS})
>>>
>>> @@ -37,7 +40,7 @@ set(REQUIRED_EXTERNAL_LIBS
>>> set(CMAKE_POSITION_INDEPENDENT_CODE ON)
>>>
>>> # CFLAGS += -Wall -W -O2 -g3 -Isrc/ -DPIC -fPIC
>>> -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -W -O2 -g3")
>>> +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread -Wall -W -O2 -g3")
>> You don't really want to have your linkage flags here, I think your
>> looking for ${CMAKE_THREAD_LIBS_INIT} to go into the
>> REQUIRED_EXTERNAL_LIBS list.
>
> How does it "go into"? Simple '+='?
>
> Can you just send a quick patch I can squash into this? The less I know about
> cmake the more room I have in my head for useful things :-) hehehe.
1. You might want to set
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
at before the find_package() for Threads
2. Linking usually happens through target_link_*() calls, where you would add
Threads::Threads (special thing created by FindThreads.cmake) to the list of
your other variables.
See <https://cmake.org/cmake/help/v3.7/module/FindThreads.html> for details on
how FindThreads.cmake works. In your case you might want to set
THREADS_PREFER_PTHREAD_FLAG as well.
Cheers,
Kai
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20170211/29d5d76c/attachment.sig>
More information about the amd-gfx
mailing list