trace-cmd: add kvm_mmu_prepare_zap_page even and fix kvm_mmu_get_page event output in kvm plugin
PATCH v2 1/1 trace-cmd: add kvm_mmu_prepare_zap_page even and fix kvm_mmu_get_page event output in kvm plugin
kvm_mmu_zap_page event was renamed to kvm_mmu_prepare_zap_page. Add new even, but leave the old one to parse older traces. Print out "created" field for kvm_mmu_get_page event.
plugin_kvm.c +10 -1
@@ -382,7 +382,7 @@ static int kvm_mmu_print_role(struct trace_seq *s, struct pevent_record *record, }else trace_seq_printf (s,"WORD: %08x" , role.word); -pevent_print_num_field (s," root %u" , event, +pevent_print_num_field (s," root %u " , event,"root_count" , record,1 );if (pevent_get_field_val (s, event,"unsync" , record, &val,1 ) <0 )
@@ -397,6 +397,11 @@ static int kvm_mmu_get_page_handler(struct trace_seq *s, struct pevent_record *r {unsigned long long val; +if (pevent_get_field_val (s, event,"created" , record, &val,1 ) <0 ) +return -1 ; + +trace_seq_printf (s,"%s " , val ?"new" :"existing" ); +if (pevent_get_field_val (s, event,"gfn" , record, &val,1 ) <0 )return -1 ;
@@ -433,5 +438,9 @@ int PEVENT_PLUGIN_LOADER(struct pevent *pevent)pevent_register_event_handler (pevent,-1 ,"kvmmmu" ,"kvm_mmu_zap_page" , kvm_mmu_print_role,NULL ); +pevent_register_event_handler (pevent,-1 ,"kvmmmu" , +"kvm_mmu_prepare_zap_page" , kvm_mmu_print_role, +NULL ); +return 0 ; }
--
Gleb.
Ping.
Quoted 41 lines · Gleb Natapov
kvm_mmu_zap_pageevent was renamed tokvm_mmu_prepare_zap_page. Add new even, but leave the old one to parse older traces. Print out "created" field forkvm_mmu_get_pageevent.Signed-off-by Gleb Natapov <[email protected]>plugin_kvm.c +10
-2@@ -382,7 +382,7 @@ static int kvm_mmu_print_role(struct trace_seq *s, struct pevent_record *record, }else trace_seq_printf (s,"WORD: %08x" , role.word); -pevent_print_num_field (s," root %u" , event, +pevent_print_num_field (s," root %u " , event,"root_count" , record,1 );if (pevent_get_field_val (s, event,"unsync" , record, &val,1 ) <0 )@@ -397,6 +397,11 @@ static int kvm_mmu_get_page_handler(struct trace_seq *s, struct pevent_record *r {unsigned long long val; +if (pevent_get_field_val (s, event,"created" , record, &val,1 ) <0 ) +return -1 ; + +trace_seq_printf (s,"%s " , val ?"new" :"existing" ); +if (pevent_get_field_val (s, event,"gfn" , record, &val,1 ) <0 )return -1 ;@@ -433,5 +438,9 @@ int PEVENT_PLUGIN_LOADER(struct pevent *pevent)pevent_register_event_handler (pevent,-1 ,"kvmmmu" ,"kvm_mmu_zap_page" , kvm_mmu_print_role,NULL ); +pevent_register_event_handler (pevent,-1 ,"kvmmmu" , +"kvm_mmu_prepare_zap_page" , kvm_mmu_print_role, +NULL ); +return 0 ; } --
Quoted 5 lines
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Gleb.
Quoted 1 line · Gleb Natapov
Ping.
Please send email (especially patches) to my [email protected] account. I don't always read my RH email, except to skim it for RH related work.
I may miss a patch in my goodmis account, but I will periodically purge it (go through each email one by one and put them into special folders or delete them). A patch missed will eventually be hit there. But that's not the same for my RH account. A patch missed there, will never be seen again.
Note, I'm still in November of my "purge" so a December patch will probably take a week or two to see now ;-)
Anyway, I'll take a look at this patch and let you know.
Thanks,
-- Steve
Quoted 51 lines · Gleb Natapov
Quoted 41 lines
kvm_mmu_zap_pageevent was renamed tokvm_mmu_prepare_zap_page. Add new even, but leave the old one to parse older traces. Print out "created" field forkvm_mmu_get_pageevent.Signed-off-by Gleb Natapov <[email protected]>plugin_kvm.c +10
-2@@ -382,7 +382,7 @@ static int kvm_mmu_print_role(struct trace_seq *s, struct pevent_record *record, }else trace_seq_printf (s,"WORD: %08x" , role.word); -pevent_print_num_field (s," root %u" , event, +pevent_print_num_field (s," root %u " , event,"root_count" , record,1 );if (pevent_get_field_val (s, event,"unsync" , record, &val,1 ) <0 )@@ -397,6 +397,11 @@ static int kvm_mmu_get_page_handler(struct trace_seq *s, struct pevent_record *r {unsigned long long val; +if (pevent_get_field_val (s, event,"created" , record, &val,1 ) <0 ) +return -1 ; + +trace_seq_printf (s,"%s " , val ?"new" :"existing" ); +if (pevent_get_field_val (s, event,"gfn" , record, &val,1 ) <0 )return -1 ;@@ -433,5 +438,9 @@ int PEVENT_PLUGIN_LOADER(struct pevent *pevent)pevent_register_event_handler (pevent,-1 ,"kvmmmu" ,"kvm_mmu_zap_page" , kvm_mmu_print_role,NULL ); +pevent_register_event_handler (pevent,-1 ,"kvmmmu" , +"kvm_mmu_prepare_zap_page" , kvm_mmu_print_role, +NULL ); +return 0 ; } --Quoted 5 lines
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html--
Gleb.
Quoted 20 lines · Gleb Natapov
Ping.
Quoted 17 lines · Gleb Natapov
kvm_mmu_zap_pageevent was renamed tokvm_mmu_prepare_zap_page. Add new even, but leave the old one to parse older traces. Print out "created" field forkvm_mmu_get_pageevent.Signed-off-by Gleb Natapov <[email protected]>plugin_kvm.c +1
-1@@ -382,7 +382,7 @@ static int kvm_mmu_print_role(struct trace_seq *s, struct pevent_record *record, }else trace_seq_printf (s,"WORD: %08x" , role.word); -pevent_print_num_field (s," root %u" , event, +pevent_print_num_field (s," root %u " , event,"root_count" , record,1 );
Quoted 6 lines
plugin_kvm.c static int kvm_mmu_get_page_handler(struct trace_seq *s, struct pevent_record *r · line 400
Quoted 6 lines
plugin_kvm.c +1
-0if (pevent_get_field_val (s, event,"unsync" , record, &val,1 ) <0 )@@ -397,6 +397,11 @@ static int kvm_mmu_get_page_handler(struct trace_seq *s, struct pevent_record *r {unsigned long long val; +if (pevent_get_field_val (s, event,"created" , record, &val,1 ) <0 )
Is "created" a new field? Or is it something that has always been there but never displayed?
If it is new, then instead of returning '-1' if it's not found, could you just ignore it. I don't want old kernels to start breaking on new trace-cmd plugins.
Thanks,
-- Steve
Quoted 26 lines
Quoted 18 lines
plugin_kvm.c +8
-1+return -1 ; + +trace_seq_printf (s,"%s " , val ?"new" :"existing" ); +if (pevent_get_field_val (s, event,"gfn" , record, &val,1 ) <0 )return -1 ;@@ -433,5 +438,9 @@ int PEVENT_PLUGIN_LOADER(struct pevent *pevent)pevent_register_event_handler (pevent,-1 ,"kvmmmu" ,"kvm_mmu_zap_page" , kvm_mmu_print_role,NULL ); +pevent_register_event_handler (pevent,-1 ,"kvmmmu" , +"kvm_mmu_prepare_zap_page" , kvm_mmu_print_role, +NULL ); +return 0 ; } --Quoted 5 lines
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html--
Gleb.
Quoted 26 lines · Steven Rostedt
Quoted 25 lines · Gleb Natapov
Ping.
Quoted 22 lines · Gleb Natapov
kvm_mmu_zap_pageevent was renamed tokvm_mmu_prepare_zap_page. Add new even, but leave the old one to parse older traces. Print out "created" field forkvm_mmu_get_pageevent.Signed-off-by Gleb Natapov <[email protected]>plugin_kvm.c +1
-1@@ -382,7 +382,7 @@ static int kvm_mmu_print_role(struct trace_seq *s, struct pevent_record *record, }else trace_seq_printf (s,"WORD: %08x" , role.word); -pevent_print_num_field (s," root %u" , event, +pevent_print_num_field (s," root %u " , event,"root_count" , record,1 );if (pevent_get_field_val (s, event,"unsync" , record, &val,1 ) <0 )@@ -397,6 +397,11 @@ static int kvm_mmu_get_page_handler(struct trace_seq *s, struct pevent_record *r {unsigned long long val;
Quoted 5 lines
Quoted 1 line
plugin_kvm.c static int kvm_mmu_get_page_handler(struct trace_seq *s, struct pevent_record *r · line 400
Quoted 1 line
plugin_kvm.c +1
-0+if (pevent_get_field_val (s, event,"created" , record, &val,1 ) <0 )Is "created" a new field? Or is it something that has always been there but never displayed?
Always been there, but for some reason, was not displayed.
Quoted 4 lines
If it is new, then instead of returning '-1' if it's not found, could you just ignore it. I don't want old kernels to start breaking on new trace-cmd plugins.
Quoted 31 lines
Thanks,
-- Steve
Quoted 26 lines
Quoted 18 lines
plugin_kvm.c +8
-1+return -1 ; + +trace_seq_printf (s,"%s " , val ?"new" :"existing" ); +if (pevent_get_field_val (s, event,"gfn" , record, &val,1 ) <0 )return -1 ;@@ -433,5 +438,9 @@ int PEVENT_PLUGIN_LOADER(struct pevent *pevent)pevent_register_event_handler (pevent,-1 ,"kvmmmu" ,"kvm_mmu_zap_page" , kvm_mmu_print_role,NULL ); +pevent_register_event_handler (pevent,-1 ,"kvmmmu" , +"kvm_mmu_prepare_zap_page" , kvm_mmu_print_role, +NULL ); +return 0 ; } --Quoted 5 lines
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html--
Gleb.
--
Gleb.
Quoted 4 lines · Gleb Natapov
Quoted 3 lines
Is "created" a new field? Or is it something that has always been there but never displayed?
Always been there, but for some reason, was not displayed.
OK, I'll apply it then. Thanks!
-- Steve
Quoted 6 lines
Quoted 6 lines
If it is new, then instead of returning '-1' if it's not found, could you just ignore it. I don't want old kernels to start breaking on new trace-cmd plugins.