Re: gcc tickets for sparse attributes

2014-01-17 Thread Johannes Berg

> > IMHO the context extension doesn't work well enough in sparse to
> > document and implement as is. It would be much better if it actually was
> > able to differentiate between contexts, rather than treating each one
> > the same.
> 
> That would certainly be nice, but that's something actually much more
> easily done in GCC than in Sparse, given the types of information GCC
> already has available to implement features like alias analysis.

Right.

> In any case, the spec I wrote up assumes a distinction between contexts,
> but allows for an initial implementation like Sparse's that ignores the
> distinction.

Ok cool. :)

> > This would avoid the problem that locking one lock and
> > unlocking another (in the kernel's __acquire/ __release mechanism) could
> > still result in a warning.
> 
> That would actually *not* produce a warning, though it should.  In
> general, I *think* an implementation like Sparse's that ignores the
> distinction between locks should produce false negatives but not false
> positives.

Right, it doesn't report one now.

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: gcc tickets for sparse attributes

2014-01-17 Thread Josh Triplett
On Fri, Jan 17, 2014 at 09:33:16AM +0100, Johannes Berg wrote:
> On Thu, 2014-01-16 at 21:27 -0800, H. Peter Anvin wrote:
> 
> > However, I would also like support for the context extensions, but I'm
> > not knowledgeable enough to describe the semantics accurately.  Would
> > anyone be willing to file a ticket describing how the context extension
> > works well enough that it could be implemented?
> 
> IMHO the context extension doesn't work well enough in sparse to
> document and implement as is. It would be much better if it actually was
> able to differentiate between contexts, rather than treating each one
> the same.

That would certainly be nice, but that's something actually much more
easily done in GCC than in Sparse, given the types of information GCC
already has available to implement features like alias analysis.

In any case, the spec I wrote up assumes a distinction between contexts,
but allows for an initial implementation like Sparse's that ignores the
distinction.

> This would avoid the problem that locking one lock and
> unlocking another (in the kernel's __acquire/ __release mechanism) could
> still result in a warning.

That would actually *not* produce a warning, though it should.  In
general, I *think* an implementation like Sparse's that ignores the
distinction between locks should produce false negatives but not false
positives.

- Josh Triplett
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: gcc tickets for sparse attributes

2014-01-17 Thread Josh Triplett
On Thu, Jan 16, 2014 at 09:27:08PM -0800, H. Peter Anvin wrote:
> I have filed gcc tickets asking for direct support in gcc for some
> sparse extensions that we use heavily in the kernel:
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59850
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59851
> 
> However, I would also like support for the context extensions, but I'm
> not knowledgeable enough to describe the semantics accurately.  Would
> anyone be willing to file a ticket describing how the context extension
> works well enough that it could be implemented?

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59856

Also:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59855

- Josh Triplett
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: gcc tickets for sparse attributes

2014-01-17 Thread Johannes Berg
On Thu, 2014-01-16 at 21:27 -0800, H. Peter Anvin wrote:

> However, I would also like support for the context extensions, but I'm
> not knowledgeable enough to describe the semantics accurately.  Would
> anyone be willing to file a ticket describing how the context extension
> works well enough that it could be implemented?

IMHO the context extension doesn't work well enough in sparse to
document and implement as is. It would be much better if it actually was
able to differentiate between contexts, rather than treating each one
the same. This would avoid the problem that locking one lock and
unlocking another (in the kernel's __acquire/ __release mechanism) could
still result in a warning.

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: gcc tickets for sparse attributes

2014-01-16 Thread H. Peter Anvin
On 01/16/2014 09:27 PM, H. Peter Anvin wrote:
> Hi,
> 
> I have filed gcc tickets asking for direct support in gcc for some
> sparse extensions that we use heavily in the kernel:
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59850
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59851
> 

Add:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59852

-hpa


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/