* [PATCH 0/3] KVM: small type cleanups
@ 2013-06-26 18:36 Mathias Krause
2013-06-26 18:36 ` [PATCH 1/3] KVM: VMX: Use proper types to access const arrays Mathias Krause
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Mathias Krause @ 2013-06-26 18:36 UTC (permalink / raw)
To: Gleb Natapov, Paolo Bonzini; +Cc: Mathias Krause, kvm
Hi,
this small series contains a few type and style cleanups. It has no
impact on the generated code but removes a few small nits from the
code.
Please apply!
Thanks,
Mathias Krause (3):
KVM: VMX: Use proper types to access const arrays
KVM: VMX: Use size_t to store sizeof() values
KVM: x86: Drop useless cast
arch/x86/kvm/vmx.c | 19 +++++++++----------
arch/x86/kvm/x86.c | 2 +-
2 files changed, 10 insertions(+), 11 deletions(-)
--
1.7.10.4
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/3] KVM: VMX: Use proper types to access const arrays
2013-06-26 18:36 [PATCH 0/3] KVM: small type cleanups Mathias Krause
@ 2013-06-26 18:36 ` Mathias Krause
2013-06-27 13:33 ` Paolo Bonzini
2013-06-26 18:36 ` [PATCH 2/3] KVM: VMX: Use size_t to store sizeof() values Mathias Krause
` (2 subsequent siblings)
3 siblings, 1 reply; 10+ messages in thread
From: Mathias Krause @ 2013-06-26 18:36 UTC (permalink / raw)
To: Gleb Natapov, Paolo Bonzini; +Cc: Mathias Krause, kvm
Use a const pointer type instead of casting away the const qualifier
from const arrays. Keep the pointer array on the stack, nonetheless.
Making it static just increases the object size.
Signed-off-by: Mathias Krause <minipli@googlemail.com>
---
arch/x86/kvm/vmx.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 260a919..7393164 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -5956,8 +5956,8 @@ static void copy_shadow_to_vmcs12(struct vcpu_vmx *vmx)
unsigned long field;
u64 field_value;
struct vmcs *shadow_vmcs = vmx->nested.current_shadow_vmcs;
- unsigned long *fields = (unsigned long *)shadow_read_write_fields;
- int num_fields = max_shadow_read_write_fields;
+ const unsigned long *fields = shadow_read_write_fields;
+ const int num_fields = max_shadow_read_write_fields;
vmcs_load(shadow_vmcs);
@@ -5986,12 +5986,11 @@ static void copy_shadow_to_vmcs12(struct vcpu_vmx *vmx)
static void copy_vmcs12_to_shadow(struct vcpu_vmx *vmx)
{
- unsigned long *fields[] = {
- (unsigned long *)shadow_read_write_fields,
- (unsigned long *)shadow_read_only_fields
+ const unsigned long *fields[] = {
+ shadow_read_write_fields,
+ shadow_read_only_fields
};
- int num_lists = ARRAY_SIZE(fields);
- int max_fields[] = {
+ const int max_fields[] = {
max_shadow_read_write_fields,
max_shadow_read_only_fields
};
@@ -6002,7 +6001,7 @@ static void copy_vmcs12_to_shadow(struct vcpu_vmx *vmx)
vmcs_load(shadow_vmcs);
- for (q = 0; q < num_lists; q++) {
+ for (q = 0; q < ARRAY_SIZE(fields); q++) {
for (i = 0; i < max_fields[q]; i++) {
field = fields[q][i];
vmcs12_read_any(&vmx->vcpu, field, &field_value);
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/3] KVM: VMX: Use size_t to store sizeof() values
2013-06-26 18:36 [PATCH 0/3] KVM: small type cleanups Mathias Krause
2013-06-26 18:36 ` [PATCH 1/3] KVM: VMX: Use proper types to access const arrays Mathias Krause
@ 2013-06-26 18:36 ` Mathias Krause
2013-06-27 13:36 ` Paolo Bonzini
2013-06-26 18:36 ` [PATCH 3/3] KVM: x86: Drop useless cast Mathias Krause
2013-07-11 7:43 ` [PATCH 0/3] KVM: small type cleanups Gleb Natapov
3 siblings, 1 reply; 10+ messages in thread
From: Mathias Krause @ 2013-06-26 18:36 UTC (permalink / raw)
To: Gleb Natapov, Paolo Bonzini; +Cc: Mathias Krause, kvm
The type for storing values of the sizeof operator should be size_t.
No semantical changes, only type correctness.
Signed-off-by: Mathias Krause <minipli@googlemail.com>
---
arch/x86/kvm/vmx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 7393164..cd9090f 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -3909,7 +3909,7 @@ static void free_vpid(struct vcpu_vmx *vmx)
static void __vmx_disable_intercept_for_msr(unsigned long *msr_bitmap,
u32 msr, int type)
{
- int f = sizeof(unsigned long);
+ const size_t f = sizeof(unsigned long);
if (!cpu_has_vmx_msr_bitmap())
return;
@@ -3944,7 +3944,7 @@ static void __vmx_disable_intercept_for_msr(unsigned long *msr_bitmap,
static void __vmx_enable_intercept_for_msr(unsigned long *msr_bitmap,
u32 msr, int type)
{
- int f = sizeof(unsigned long);
+ const size_t f = sizeof(unsigned long);
if (!cpu_has_vmx_msr_bitmap())
return;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/3] KVM: x86: Drop useless cast
2013-06-26 18:36 [PATCH 0/3] KVM: small type cleanups Mathias Krause
2013-06-26 18:36 ` [PATCH 1/3] KVM: VMX: Use proper types to access const arrays Mathias Krause
2013-06-26 18:36 ` [PATCH 2/3] KVM: VMX: Use size_t to store sizeof() values Mathias Krause
@ 2013-06-26 18:36 ` Mathias Krause
2013-06-27 13:39 ` Paolo Bonzini
2013-07-11 7:43 ` [PATCH 0/3] KVM: small type cleanups Gleb Natapov
3 siblings, 1 reply; 10+ messages in thread
From: Mathias Krause @ 2013-06-26 18:36 UTC (permalink / raw)
To: Gleb Natapov, Paolo Bonzini; +Cc: Mathias Krause, kvm
Void pointers don't need no casting, drop it.
Signed-off-by: Mathias Krause <minipli@googlemail.com>
---
arch/x86/kvm/x86.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index e8ba99c..472350c 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -5300,7 +5300,7 @@ static struct notifier_block pvclock_gtod_notifier = {
int kvm_arch_init(void *opaque)
{
int r;
- struct kvm_x86_ops *ops = (struct kvm_x86_ops *)opaque;
+ struct kvm_x86_ops *ops = opaque;
if (kvm_x86_ops) {
printk(KERN_ERR "kvm: already loaded the other module\n");
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] KVM: VMX: Use proper types to access const arrays
2013-06-26 18:36 ` [PATCH 1/3] KVM: VMX: Use proper types to access const arrays Mathias Krause
@ 2013-06-27 13:33 ` Paolo Bonzini
2013-06-27 13:42 ` Mathias Krause
0 siblings, 1 reply; 10+ messages in thread
From: Paolo Bonzini @ 2013-06-27 13:33 UTC (permalink / raw)
To: Mathias Krause; +Cc: Gleb Natapov, kvm
Il 26/06/2013 20:36, Mathias Krause ha scritto:
> Use a const pointer type instead of casting away the const qualifier
> from const arrays. Keep the pointer array on the stack, nonetheless.
> Making it static just increases the object size.
>
> Signed-off-by: Mathias Krause <minipli@googlemail.com>
> ---
> arch/x86/kvm/vmx.c | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
> index 260a919..7393164 100644
> --- a/arch/x86/kvm/vmx.c
> +++ b/arch/x86/kvm/vmx.c
> @@ -5956,8 +5956,8 @@ static void copy_shadow_to_vmcs12(struct vcpu_vmx *vmx)
> unsigned long field;
> u64 field_value;
> struct vmcs *shadow_vmcs = vmx->nested.current_shadow_vmcs;
> - unsigned long *fields = (unsigned long *)shadow_read_write_fields;
> - int num_fields = max_shadow_read_write_fields;
> + const unsigned long *fields = shadow_read_write_fields;
> + const int num_fields = max_shadow_read_write_fields;
>
> vmcs_load(shadow_vmcs);
>
> @@ -5986,12 +5986,11 @@ static void copy_shadow_to_vmcs12(struct vcpu_vmx *vmx)
>
> static void copy_vmcs12_to_shadow(struct vcpu_vmx *vmx)
> {
> - unsigned long *fields[] = {
> - (unsigned long *)shadow_read_write_fields,
> - (unsigned long *)shadow_read_only_fields
> + const unsigned long *fields[] = {
> + shadow_read_write_fields,
> + shadow_read_only_fields
> };
> - int num_lists = ARRAY_SIZE(fields);
> - int max_fields[] = {
> + const int max_fields[] = {
> max_shadow_read_write_fields,
> max_shadow_read_only_fields
> };
> @@ -6002,7 +6001,7 @@ static void copy_vmcs12_to_shadow(struct vcpu_vmx *vmx)
>
> vmcs_load(shadow_vmcs);
>
> - for (q = 0; q < num_lists; q++) {
> + for (q = 0; q < ARRAY_SIZE(fields); q++) {
> for (i = 0; i < max_fields[q]; i++) {
> field = fields[q][i];
> vmcs12_read_any(&vmx->vcpu, field, &field_value);
>
The "const int" is not particularly useful, but doesn't hurt either.
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] KVM: VMX: Use size_t to store sizeof() values
2013-06-26 18:36 ` [PATCH 2/3] KVM: VMX: Use size_t to store sizeof() values Mathias Krause
@ 2013-06-27 13:36 ` Paolo Bonzini
0 siblings, 0 replies; 10+ messages in thread
From: Paolo Bonzini @ 2013-06-27 13:36 UTC (permalink / raw)
To: Mathias Krause; +Cc: Gleb Natapov, kvm
Il 26/06/2013 20:36, Mathias Krause ha scritto:
> The type for storing values of the sizeof operator should be size_t.
> No semantical changes, only type correctness.
>
> Signed-off-by: Mathias Krause <minipli@googlemail.com>
> ---
> arch/x86/kvm/vmx.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
> index 7393164..cd9090f 100644
> --- a/arch/x86/kvm/vmx.c
> +++ b/arch/x86/kvm/vmx.c
> @@ -3909,7 +3909,7 @@ static void free_vpid(struct vcpu_vmx *vmx)
> static void __vmx_disable_intercept_for_msr(unsigned long *msr_bitmap,
> u32 msr, int type)
> {
> - int f = sizeof(unsigned long);
> + const size_t f = sizeof(unsigned long);
>
> if (!cpu_has_vmx_msr_bitmap())
> return;
> @@ -3944,7 +3944,7 @@ static void __vmx_disable_intercept_for_msr(unsigned long *msr_bitmap,
> static void __vmx_enable_intercept_for_msr(unsigned long *msr_bitmap,
> u32 msr, int type)
> {
> - int f = sizeof(unsigned long);
> + const size_t f = sizeof(unsigned long);
>
> if (!cpu_has_vmx_msr_bitmap())
> return;
>
Both the "const" and the change seem like useless churn. It is only
used to adjust a pointer by a given number of bytes.
Paolo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/3] KVM: x86: Drop useless cast
2013-06-26 18:36 ` [PATCH 3/3] KVM: x86: Drop useless cast Mathias Krause
@ 2013-06-27 13:39 ` Paolo Bonzini
0 siblings, 0 replies; 10+ messages in thread
From: Paolo Bonzini @ 2013-06-27 13:39 UTC (permalink / raw)
To: Mathias Krause; +Cc: Gleb Natapov, kvm
Il 26/06/2013 20:36, Mathias Krause ha scritto:
> Void pointers don't need no casting, drop it.
>
> Signed-off-by: Mathias Krause <minipli@googlemail.com>
> ---
> arch/x86/kvm/x86.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index e8ba99c..472350c 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -5300,7 +5300,7 @@ static struct notifier_block pvclock_gtod_notifier = {
> int kvm_arch_init(void *opaque)
> {
> int r;
> - struct kvm_x86_ops *ops = (struct kvm_x86_ops *)opaque;
> + struct kvm_x86_ops *ops = opaque;
>
> if (kvm_x86_ops) {
> printk(KERN_ERR "kvm: already loaded the other module\n");
>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] KVM: VMX: Use proper types to access const arrays
2013-06-27 13:33 ` Paolo Bonzini
@ 2013-06-27 13:42 ` Mathias Krause
2013-06-27 13:47 ` Paolo Bonzini
0 siblings, 1 reply; 10+ messages in thread
From: Mathias Krause @ 2013-06-27 13:42 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: Gleb Natapov, kvm
On 27 June 2013 15:33, Paolo Bonzini <pbonzini@redhat.com> wrote:
> Il 26/06/2013 20:36, Mathias Krause ha scritto:
>> Use a const pointer type instead of casting away the const qualifier
>> from const arrays. Keep the pointer array on the stack, nonetheless.
>> Making it static just increases the object size.
>>
>> Signed-off-by: Mathias Krause <minipli@googlemail.com>
>> ---
>> arch/x86/kvm/vmx.c | 15 +++++++--------
>> 1 file changed, 7 insertions(+), 8 deletions(-)
>>
>> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
>> index 260a919..7393164 100644
>> --- a/arch/x86/kvm/vmx.c
>> +++ b/arch/x86/kvm/vmx.c
>> @@ -5956,8 +5956,8 @@ static void copy_shadow_to_vmcs12(struct vcpu_vmx *vmx)
>> unsigned long field;
>> u64 field_value;
>> struct vmcs *shadow_vmcs = vmx->nested.current_shadow_vmcs;
>> - unsigned long *fields = (unsigned long *)shadow_read_write_fields;
>> - int num_fields = max_shadow_read_write_fields;
>> + const unsigned long *fields = shadow_read_write_fields;
>> + const int num_fields = max_shadow_read_write_fields;
>>
>> vmcs_load(shadow_vmcs);
>>
>> @@ -5986,12 +5986,11 @@ static void copy_shadow_to_vmcs12(struct vcpu_vmx *vmx)
>>
>> static void copy_vmcs12_to_shadow(struct vcpu_vmx *vmx)
>> {
>> - unsigned long *fields[] = {
>> - (unsigned long *)shadow_read_write_fields,
>> - (unsigned long *)shadow_read_only_fields
>> + const unsigned long *fields[] = {
>> + shadow_read_write_fields,
>> + shadow_read_only_fields
>> };
>> - int num_lists = ARRAY_SIZE(fields);
>> - int max_fields[] = {
>> + const int max_fields[] = {
>> max_shadow_read_write_fields,
>> max_shadow_read_only_fields
>> };
>> @@ -6002,7 +6001,7 @@ static void copy_vmcs12_to_shadow(struct vcpu_vmx *vmx)
>>
>> vmcs_load(shadow_vmcs);
>>
>> - for (q = 0; q < num_lists; q++) {
>> + for (q = 0; q < ARRAY_SIZE(fields); q++) {
>> for (i = 0; i < max_fields[q]; i++) {
>> field = fields[q][i];
>> vmcs12_read_any(&vmx->vcpu, field, &field_value);
>>
>
> The "const int" is not particularly useful, but doesn't hurt either.
It's more of a hint for the compiler to take the values verbatim
instead of allocating stack space for them. But it'll probably already
do it even without that "hint".
>
> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Mathias
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] KVM: VMX: Use proper types to access const arrays
2013-06-27 13:42 ` Mathias Krause
@ 2013-06-27 13:47 ` Paolo Bonzini
0 siblings, 0 replies; 10+ messages in thread
From: Paolo Bonzini @ 2013-06-27 13:47 UTC (permalink / raw)
To: Mathias Krause; +Cc: Gleb Natapov, kvm
Il 27/06/2013 15:42, Mathias Krause ha scritto:
> > The "const int" is not particularly useful, but doesn't hurt either.
>
> It's more of a hint for the compiler to take the values verbatim
> instead of allocating stack space for them. But it'll probably already
> do it even without that "hint".
It won't change anything really. Maybe for "const int foo[]", but I'm
not even sure about that and it depends a lot on the circumstances (loop
unrolling, inlining, whether you ever store "foo" in a variable or pass
it as a parameter, ...). The compiler may leave it on the stack anyway.
Paolo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/3] KVM: small type cleanups
2013-06-26 18:36 [PATCH 0/3] KVM: small type cleanups Mathias Krause
` (2 preceding siblings ...)
2013-06-26 18:36 ` [PATCH 3/3] KVM: x86: Drop useless cast Mathias Krause
@ 2013-07-11 7:43 ` Gleb Natapov
3 siblings, 0 replies; 10+ messages in thread
From: Gleb Natapov @ 2013-07-11 7:43 UTC (permalink / raw)
To: Mathias Krause; +Cc: Paolo Bonzini, kvm
On Wed, Jun 26, 2013 at 08:36:20PM +0200, Mathias Krause wrote:
> Hi,
>
> this small series contains a few type and style cleanups. It has no
> impact on the generated code but removes a few small nits from the
> code.
>
> Please apply!
>
Applied 1 and 3. Thanks.
> Thanks,
>
> Mathias Krause (3):
> KVM: VMX: Use proper types to access const arrays
> KVM: VMX: Use size_t to store sizeof() values
> KVM: x86: Drop useless cast
>
> arch/x86/kvm/vmx.c | 19 +++++++++----------
> arch/x86/kvm/x86.c | 2 +-
> 2 files changed, 10 insertions(+), 11 deletions(-)
>
> --
> 1.7.10.4
--
Gleb.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2013-07-11 7:44 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-26 18:36 [PATCH 0/3] KVM: small type cleanups Mathias Krause
2013-06-26 18:36 ` [PATCH 1/3] KVM: VMX: Use proper types to access const arrays Mathias Krause
2013-06-27 13:33 ` Paolo Bonzini
2013-06-27 13:42 ` Mathias Krause
2013-06-27 13:47 ` Paolo Bonzini
2013-06-26 18:36 ` [PATCH 2/3] KVM: VMX: Use size_t to store sizeof() values Mathias Krause
2013-06-27 13:36 ` Paolo Bonzini
2013-06-26 18:36 ` [PATCH 3/3] KVM: x86: Drop useless cast Mathias Krause
2013-06-27 13:39 ` Paolo Bonzini
2013-07-11 7:43 ` [PATCH 0/3] KVM: small type cleanups Gleb Natapov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.