Linux SPARSE checker discussions
 help / color / mirror / Atom feed
* what is cooking in sparse-next-20170805
@ 2017-08-05 12:42 Christopher Li
  2017-08-05 13:51 ` Christopher Li
  2017-08-06  1:52 ` Luc Van Oostenryck
  0 siblings, 2 replies; 5+ messages in thread
From: Christopher Li @ 2017-08-05 12:42 UTC (permalink / raw)
  To: Linux-Sparse, Luc Van Oostenryck

Two new series from Luc has been applied.
- fix: give a type to bad conditionnal expressions
  I confirm the wine source file checking went from 23s to 3.x seconds.

- fix list corruption with recursive remove_usage()
   this replace 7d54acb0d6d4a9dff3c91688b0223cd4c4a6d6ea
   "Let pseudo->users loop on duplicate versin of list"

The kernel compile check shows that has output difference in 3 files
compare to rc4. I include the diff here. I will dig a bit more which change
cause it. It seems reasonable enough.  There is one context imbalance
warning was gone. My guess is that the conditional expression patch
make sparse understand the source code better now.

This should be very very close the RC5 release.

Go give it more test!

Chris




$ diff linux-checker/rc4 linux-checker/exp -ruN
diff -ruN linux-checker/rc4/arch/x86/platform/uv/uv_nmi.sp
linux-checker/exp/arch/x86/platform/uv/uv_nmi.sp
--- linux-checker/rc4/arch/x86/platform/uv/uv_nmi.sp 2017-08-05
05:07:52.176462385 -0700
+++ linux-checker/exp/arch/x86/platform/uv/uv_nmi.sp 2017-08-05
04:56:42.959747891 -0700
@@ -24,5 +24,5 @@
 ./arch/x86/include/asm/uv/uv_hub.h:678:41:    got unsigned long *
 arch/x86/platform/uv/uv_nmi.c:908:5: warning: symbol 'uv_handle_nmi'
was not declared. Should it be static?
 arch/x86/platform/uv/uv_nmi.c:1016:13: warning: symbol
'uv_nmi_setup_common' was not declared. Should it be static?
-arch/x86/platform/uv/uv_nmi.c:482:12: warning: context imbalance in
'uv_check_nmi' - different lock contexts for basic block
+arch/x86/platform/uv/uv_nmi.c:541:9: warning: context imbalance in
'uv_check_nmi' - different lock contexts for basic block
 arch/x86/platform/uv/uv_nmi.c:559:17: warning: context imbalance in
'uv_handle_nmi' - unexpected unlock
diff -ruN linux-checker/rc4/drivers/auxdisplay/panel.sp
linux-checker/exp/drivers/auxdisplay/panel.sp
--- linux-checker/rc4/drivers/auxdisplay/panel.sp 2017-08-05
05:07:54.558438024 -0700
+++ linux-checker/exp/drivers/auxdisplay/panel.sp 2017-08-05
04:56:45.285724297 -0700
@@ -1 +0,0 @@
-drivers/auxdisplay/panel.c:1402:17: warning: context imbalance in
'panel_scan_timer' - different lock contexts for basic block
diff -ruN linux-checker/rc4/drivers/net/ethernet/chelsio/cxgb3/sge.sp
linux-checker/exp/drivers/net/ethernet/chelsio/cxgb3/sge.sp
--- linux-checker/rc4/drivers/net/ethernet/chelsio/cxgb3/sge.sp
2017-08-05 05:08:45.045911820 -0700
+++ linux-checker/exp/drivers/net/ethernet/chelsio/cxgb3/sge.sp
2017-08-05 04:57:32.503081874 -0700
@@ -13,4 +13,3 @@
 drivers/net/ethernet/chelsio/cxgb3/sge.c:2371:47: warning: incorrect
type in assignment (different base types)
 drivers/net/ethernet/chelsio/cxgb3/sge.c:2371:47:    expected
unsigned int [unsigned] [usertype] priority
 drivers/net/ethernet/chelsio/cxgb3/sge.c:2371:47:    got restricted
__be32 [assigned] [usertype] rss_lo
-drivers/net/ethernet/chelsio/cxgb3/sge.c:2936:9: warning: context
imbalance in 'sge_timer_rx' - different lock contexts for basic block
diff -ruN linux-checker/rc4/drivers/staging/lustre/lustre/obdclass/lu_object.sp
linux-checker/exp/drivers/staging/lustre/lustre/obdclass/lu_object.sp
--- linux-checker/rc4/drivers/staging/lustre/lustre/obdclass/lu_object.sp
2017-08-05 05:09:19.649552223 -0700
+++ linux-checker/exp/drivers/staging/lustre/lustre/obdclass/lu_object.sp
2017-08-05 04:58:06.379516299 -0700
@@ -1,2 +1,2 @@
-drivers/staging/lustre/lustre/obdclass/lu_object.c:95:6: warning:
context imbalance in 'lu_object_put' - different lock contexts for
basic block
+drivers/staging/lustre/lustre/obdclass/lu_object.c:95:6: warning:
context imbalance in 'lu_object_put' - wrong count at exit
 drivers/staging/lustre/lustre/obdclass/lu_object.c:1727:54: warning:
context imbalance in 'lu_context_exit' - different lock contexts for
basic block

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: what is cooking in sparse-next-20170805
  2017-08-05 12:42 what is cooking in sparse-next-20170805 Christopher Li
@ 2017-08-05 13:51 ` Christopher Li
  2017-08-05 13:56   ` Dibyendu Majumdar
  2017-08-06  1:52 ` Luc Van Oostenryck
  1 sibling, 1 reply; 5+ messages in thread
From: Christopher Li @ 2017-08-05 13:51 UTC (permalink / raw)
  To: Linux-Sparse, Luc Van Oostenryck

On Sat, Aug 5, 2017 at 8:42 AM, Christopher Li <sparse@chrisli.org> wrote:
> diff -ruN linux-checker/rc4/drivers/auxdisplay/panel.sp
> linux-checker/exp/drivers/auxdisplay/panel.sp
> --- linux-checker/rc4/drivers/auxdisplay/panel.sp 2017-08-05
> 05:07:54.558438024 -0700
> +++ linux-checker/exp/drivers/auxdisplay/panel.sp 2017-08-05
> 04:56:45.285724297 -0700
> @@ -1 +0,0 @@
> -drivers/auxdisplay/panel.c:1402:17: warning: context imbalance in
> 'panel_scan_timer' - different lock contexts for basic block
> diff -ruN linux-checker/rc4/drivers/net/ethernet/chelsio/cxgb3/sge.sp
> linux-checker/exp/drivers/net/ethernet/chelsio/cxgb3/sge.sp
> --- linux-checker/rc4/drivers/net/ethernet/chelsio/cxgb3/sge.sp
> 2017-08-05 05:08:45.045911820 -0700
> +++ linux-checker/exp/drivers/net/ethernet/chelsio/cxgb3/sge.sp
> 2017-08-05 04:57:32.503081874 -0700
> @@ -13,4 +13,3 @@
>  drivers/net/ethernet/chelsio/cxgb3/sge.c:2371:47: warning: incorrect
> type in assignment (different base types)
>  drivers/net/ethernet/chelsio/cxgb3/sge.c:2371:47:    expected
> unsigned int [unsigned] [usertype] priority
>  drivers/net/ethernet/chelsio/cxgb3/sge.c:2371:47:    got restricted
> __be32 [assigned] [usertype] rss_lo
> -drivers/net/ethernet/chelsio/cxgb3/sge.c:2936:9: warning: context
> imbalance in 'sge_timer_rx' - different lock contexts for basic block

This different is actually trace back to this change, not by the recent
two series:

c7dd24480716c2bf853b63d462c3c8be84b78359
fix BB dependencies on phi-nodes

I some how did not catch it earlier.

Chris

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: what is cooking in sparse-next-20170805
  2017-08-05 13:51 ` Christopher Li
@ 2017-08-05 13:56   ` Dibyendu Majumdar
  2017-08-05 14:19     ` Christopher Li
  0 siblings, 1 reply; 5+ messages in thread
From: Dibyendu Majumdar @ 2017-08-05 13:56 UTC (permalink / raw)
  To: Christopher Li; +Cc: Linux-Sparse, Luc Van Oostenryck

Hi Chris,

Does sparse-next now have all the changes/fixes since January? I am
still waiting for this to stabilize before attempting a merge into my
project.

Thanks and Regards
Dibyendu

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: what is cooking in sparse-next-20170805
  2017-08-05 13:56   ` Dibyendu Majumdar
@ 2017-08-05 14:19     ` Christopher Li
  0 siblings, 0 replies; 5+ messages in thread
From: Christopher Li @ 2017-08-05 14:19 UTC (permalink / raw)
  To: Dibyendu Majumdar; +Cc: Linux-Sparse, Luc Van Oostenryck

On Sat, Aug 5, 2017 at 9:56 AM, Dibyendu Majumdar
<mobile@majumdar.org.uk> wrote:
> Hi Chris,
>
> Does sparse-next now have all the changes/fixes since January? I am
> still waiting for this to stabilize before attempting a merge into my
> project.

No. The master branch is the stable point. The sparse-next is playground
for testing patches before merge to master. The history in sparse-next
can get rewrite to remove some temporary fix.

For all the patches, especially the llvm one you are waiting for.
Have to wait for Luc resend the merge request after the release.
This release is just get some stable bits out first. Serve as anchor
point for the coming merges.

Right now we don't have blocker or know to be broken issue
on sparse. The release should happen relative soon.
Famous last word.


Chris

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: what is cooking in sparse-next-20170805
  2017-08-05 12:42 what is cooking in sparse-next-20170805 Christopher Li
  2017-08-05 13:51 ` Christopher Li
@ 2017-08-06  1:52 ` Luc Van Oostenryck
  1 sibling, 0 replies; 5+ messages in thread
From: Luc Van Oostenryck @ 2017-08-06  1:52 UTC (permalink / raw)
  To: Christopher Li; +Cc: Linux-Sparse

On Sat, Aug 05, 2017 at 08:42:12AM -0400, Christopher Li wrote:
> Two new series from Luc has been applied.
> - fix: give a type to bad conditionnal expressions
>   I confirm the wine source file checking went from 23s to 3.x seconds.
> 
> - fix list corruption with recursive remove_usage()
>    this replace 7d54acb0d6d4a9dff3c91688b0223cd4c4a6d6ea
>    "Let pseudo->users loop on duplicate versin of list"
> 
> The kernel compile check shows that has output difference in 3 files
> compare to rc4. I include the diff here. I will dig a bit more which change
> cause it. It seems reasonable enough.  There is one context imbalance
> warning was gone. My guess is that the conditional expression patch
> make sparse understand the source code better now.

Yes.

Also the context checking warnings are quite sensitive to
small changes in the optimization (via the merging of BBs).
But then it's just a change in the file:line:pos, like in
the first file here under. The other two are different and
I also think they are due to the cond-expr change.

-- Luc

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-08-06  1:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-05 12:42 what is cooking in sparse-next-20170805 Christopher Li
2017-08-05 13:51 ` Christopher Li
2017-08-05 13:56   ` Dibyendu Majumdar
2017-08-05 14:19     ` Christopher Li
2017-08-06  1:52 ` Luc Van Oostenryck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox