From: Jinpeng Cui cui.jinpeng2@zte.com.cn
Return value directly from expression instead of getting value from redundant variable tsc_val.
Reported-by: Zeal Robot zealci@zte.com.cn Signed-off-by: Jinpeng Cui cui.jinpeng2@zte.com.cn --- tools/testing/selftests/kvm/include/x86_64/processor.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/kvm/include/x86_64/processor.h b/tools/testing/selftests/kvm/include/x86_64/processor.h index 0cbc71b7af50..75920678f34d 100644 --- a/tools/testing/selftests/kvm/include/x86_64/processor.h +++ b/tools/testing/selftests/kvm/include/x86_64/processor.h @@ -237,7 +237,6 @@ static inline uint64_t get_desc64_base(const struct desc64 *desc) static inline uint64_t rdtsc(void) { uint32_t eax, edx; - uint64_t tsc_val; /* * The lfence is to wait (on Intel CPUs) until all previous * instructions have been executed. If software requires RDTSC to be @@ -245,8 +244,8 @@ static inline uint64_t rdtsc(void) * execute LFENCE immediately after RDTSC */ __asm__ __volatile__("lfence; rdtsc; lfence" : "=a"(eax), "=d"(edx)); - tsc_val = ((uint64_t)edx) << 32 | eax; - return tsc_val; + + return ((uint64_t)edx) << 32 | eax; }
static inline uint64_t rdtscp(uint32_t *aux)
On Wed, Aug 31, 2022 at 7:31 AM cgel.zte@gmail.com wrote:
From: Jinpeng Cui cui.jinpeng2@zte.com.cn
Return value directly from expression instead of getting value from redundant variable tsc_val.
Nit: I think you mean 'superfluous' rather than 'redundant'?
Reported-by: Zeal Robot zealci@zte.com.cn Signed-off-by: Jinpeng Cui cui.jinpeng2@zte.com.cn
tools/testing/selftests/kvm/include/x86_64/processor.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/kvm/include/x86_64/processor.h b/tools/testing/selftests/kvm/include/x86_64/processor.h index 0cbc71b7af50..75920678f34d 100644 --- a/tools/testing/selftests/kvm/include/x86_64/processor.h +++ b/tools/testing/selftests/kvm/include/x86_64/processor.h @@ -237,7 +237,6 @@ static inline uint64_t get_desc64_base(const struct desc64 *desc) static inline uint64_t rdtsc(void) { uint32_t eax, edx;
uint64_t tsc_val; /* * The lfence is to wait (on Intel CPUs) until all previous * instructions have been executed. If software requires RDTSC to be
@@ -245,8 +244,8 @@ static inline uint64_t rdtsc(void) * execute LFENCE immediately after RDTSC */ __asm__ __volatile__("lfence; rdtsc; lfence" : "=a"(eax), "=d"(edx));
tsc_val = ((uint64_t)edx) << 32 | eax;
return tsc_val;
return ((uint64_t)edx) << 32 | eax;
}
This does beg the question: "Why?"
On Wed, Aug 31, 2022, Jim Mattson wrote:
On Wed, Aug 31, 2022 at 7:31 AM cgel.zte@gmail.com wrote:
diff --git a/tools/testing/selftests/kvm/include/x86_64/processor.h b/tools/testing/selftests/kvm/include/x86_64/processor.h index 0cbc71b7af50..75920678f34d 100644 --- a/tools/testing/selftests/kvm/include/x86_64/processor.h +++ b/tools/testing/selftests/kvm/include/x86_64/processor.h @@ -237,7 +237,6 @@ static inline uint64_t get_desc64_base(const struct desc64 *desc) static inline uint64_t rdtsc(void) { uint32_t eax, edx;
uint64_t tsc_val; /* * The lfence is to wait (on Intel CPUs) until all previous * instructions have been executed. If software requires RDTSC to be
@@ -245,8 +244,8 @@ static inline uint64_t rdtsc(void) * execute LFENCE immediately after RDTSC */ __asm__ __volatile__("lfence; rdtsc; lfence" : "=a"(eax), "=d"(edx));
tsc_val = ((uint64_t)edx) << 32 | eax;
return tsc_val;
return ((uint64_t)edx) << 32 | eax;
}
This does beg the question: "Why?"
Yeah, for this one I think having a local variable adds value.
On 8/31/22 08:31, cgel.zte@gmail.com wrote:
From: Jinpeng Cui cui.jinpeng2@zte.com.cn
Return value directly from expression instead of getting value from redundant variable tsc_val.
Reported-by: Zeal Robot zealci@zte.com.cn Signed-off-by: Jinpeng Cui cui.jinpeng2@zte.com.cn
tools/testing/selftests/kvm/include/x86_64/processor.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/kvm/include/x86_64/processor.h b/tools/testing/selftests/kvm/include/x86_64/processor.h index 0cbc71b7af50..75920678f34d 100644 --- a/tools/testing/selftests/kvm/include/x86_64/processor.h +++ b/tools/testing/selftests/kvm/include/x86_64/processor.h @@ -237,7 +237,6 @@ static inline uint64_t get_desc64_base(const struct desc64 *desc) static inline uint64_t rdtsc(void) { uint32_t eax, edx;
- uint64_t tsc_val; /*
- The lfence is to wait (on Intel CPUs) until all previous
- instructions have been executed. If software requires RDTSC to be
@@ -245,8 +244,8 @@ static inline uint64_t rdtsc(void) * execute LFENCE immediately after RDTSC */ __asm__ __volatile__("lfence; rdtsc; lfence" : "=a"(eax), "=d"(edx));
- tsc_val = ((uint64_t)edx) << 32 | eax;
- return tsc_val;
- return ((uint64_t)edx) << 32 | eax; }
static inline uint64_t rdtscp(uint32_t *aux)
My understanding is that this patch isn't coming from individuals that work for ZTE. We won't be able to accept these patches. Refer to the following for reasons why we can't accept these patches.
https://patchwork.kernel.org/project/linux-kselftest/patch/20220920063202.21...
thanks, -- Shuah
On Thu, Sep 22, 2022, Shuah Khan wrote:
On 8/31/22 08:31, cgel.zte@gmail.com wrote:
From: Jinpeng Cui cui.jinpeng2@zte.com.cn
Return value directly from expression instead of getting value from redundant variable tsc_val.
Reported-by: Zeal Robot zealci@zte.com.cn Signed-off-by: Jinpeng Cui cui.jinpeng2@zte.com.cn
...
My understanding is that this patch isn't coming from individuals that work for ZTE. We won't be able to accept these patches. Refer to the following for reasons why we can't accept these patches.
Ouch. Thanks much for the heads up!
On Thu, Sep 22, 2022 at 12:45:22PM -0600, Shuah Khan wrote:
On 8/31/22 08:31, cgel.zte@gmail.com wrote:
From: Jinpeng Cui cui.jinpeng2@zte.com.cn
Return value directly from expression instead of getting value from redundant variable tsc_val.
Reported-by: Zeal Robot zealci@zte.com.cn Signed-off-by: Jinpeng Cui cui.jinpeng2@zte.com.cn
tools/testing/selftests/kvm/include/x86_64/processor.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/kvm/include/x86_64/processor.h b/tools/testing/selftests/kvm/include/x86_64/processor.h index 0cbc71b7af50..75920678f34d 100644 --- a/tools/testing/selftests/kvm/include/x86_64/processor.h +++ b/tools/testing/selftests/kvm/include/x86_64/processor.h @@ -237,7 +237,6 @@ static inline uint64_t get_desc64_base(const struct desc64 *desc) static inline uint64_t rdtsc(void) { uint32_t eax, edx;
- uint64_t tsc_val; /*
- The lfence is to wait (on Intel CPUs) until all previous
- instructions have been executed. If software requires RDTSC to be
@@ -245,8 +244,8 @@ static inline uint64_t rdtsc(void) * execute LFENCE immediately after RDTSC */ __asm__ __volatile__("lfence; rdtsc; lfence" : "=a"(eax), "=d"(edx));
- tsc_val = ((uint64_t)edx) << 32 | eax;
- return tsc_val;
- return ((uint64_t)edx) << 32 | eax; } static inline uint64_t rdtscp(uint32_t *aux)
My understanding is that this patch isn't coming from individuals that work for ZTE. We won't be able to accept these patches. Refer to the following for reasons why we can't accept these patches.
https://patchwork.kernel.org/project/linux-kselftest/patch/20220920063202.21...
Thanks for catching this.
Also this address has now been banned from the kernel mailing lists, so watch out for patches sent to maintainers that do not show up on lore.kernel.org.
thanks,
greg k-h
linux-kselftest-mirror@lists.linaro.org