Re: Reviewing a FAQ change about LORs

2013-02-09 Thread Andriy Gapon
on 09/02/2013 01:51 Eitan Adler said the following:
 On 8 February 2013 16:31, Ian Lepore i...@freebsd.org wrote:
 On Thu, 2013-02-07 at 19:32 -0500, Eitan Adler wrote:
 Does someone here mind reviewing
 http://www.freebsd.org/cgi/query-pr.cgi?pr=174226 for correctness.

 Please feel free to post alternate diffs as a reply as well.


 Does it make sense to reference a web page on LOR status that hasn't
 been updated in four years?
 
 I was unaware of this, which is the reason I asked for review. ;)
 
 Is there an updated page or is there no such service anymore?

I suspect that the list of LORs doesn't get updated because we don't get many
new LORs that here are to stay.  Those old LORs are well known, harmless and
hard to fix.  We try to not introduce any new LORs of that kind.  So the new
LORs are either not introduced or getting fixed.
Hence no strong need for an up-to-date list.

It also seems that the interest in LORs diminished over the years as FreeBSD SMP
/ locking stabilized to the point of being taken for granted (as opposed to the
early SMP days).  So nobody (except developers adding new locks) really looks at
LORs until a deadlock/livelock is really hit.

On the other hand, the referenced page looks like new reports are welcome and
get actually processes, which is not true.  Also, the list of fixed/patched LORs
has no practical use.  Additionally, many LORs there are duplicates (e.g. a LOR
between devfs and any other fs during unmount is replicated for many values of
other fs).  There also seem to be some fixed LORs, etc.

It probably would make sense to reference some static page with a list of some
well known LORs.  But that page doesn't seem to be very useful.

-- 
Andriy Gapon
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: Reviewing a FAQ change about LORs

2013-02-09 Thread Bas Smeelen

On 02/09/2013 12:51 AM, Eitan Adler wrote:

On 8 February 2013 16:31, Ian Lepore i...@freebsd.org wrote:

On Thu, 2013-02-07 at 19:32 -0500, Eitan Adler wrote:

Does someone here mind reviewing
http://www.freebsd.org/cgi/query-pr.cgi?pr=174226 for correctness.

Please feel free to post alternate diffs as a reply as well.


Does it make sense to reference a web page on LOR status that hasn't
been updated in four years?

I was unaware of this, which is the reason I asked for review. ;)

Is there an updated page or is there no such service anymore?


Hi

Sorry I didn't check this either.
There seems to be no updated page on LOR's so maybe just remove the URL?



___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: Request for review, time_pps_fetch() enhancement

2013-02-09 Thread Jilles Tjoelker
On Wed, Feb 06, 2013 at 05:58:30PM +0200, Konstantin Belousov wrote:
 On Tue, Feb 05, 2013 at 09:41:38PM -0700, Ian Lepore wrote:
  I'd like feedback on the attached patch, which adds support to our
  time_pps_fetch() implementation for the blocking behaviors described in
  section 3.4.3 of RFC 2783.  The existing implementation can only return
  the most recently captured data without blocking.  These changes add the
  ability to block (forever or with timeout) until a new event occurs.

  Index: sys/kern/kern_tc.c
  ===
  --- sys/kern/kern_tc.c  (revision 246337)
  +++ sys/kern/kern_tc.c  (working copy)
  @@ -1446,6 +1446,50 @@
* RFC 2783 PPS-API implementation.
*/
   
  +static int
  +pps_fetch(struct pps_fetch_args *fapi, struct pps_state *pps)
  +{
  [snip]
  +   aseq = pps-ppsinfo.assert_sequence;
  +   cseq = pps-ppsinfo.clear_sequence;
  +   while (aseq == pps-ppsinfo.assert_sequence 
  +   cseq == pps-ppsinfo.clear_sequence) {
 Note that compilers are allowed to optimize these accesses even over
 the sequential point, which is the tsleep() call. Only accesses to
 volatile objects are forbidden to be rearranged.

 I suggest to add volatile casts to pps in the loop condition.

The memory pointed to by pps is global (other code may have a pointer to
it); therefore, the compiler must assume that the tsleep() call (which
invokes code in a different compilation unit) may modify it.

Because volatile does not make concurrent access by multiple threads
defined either, adding it here only seems to slow down the code
(potentially).

  +   err = tsleep(pps, PCATCH, ppsfch, timo);
  +   if (err == EWOULDBLOCK  fapi-timeout.tv_sec == -1) {
  +   continue;
  +   } else if (err != 0) {
  +   return (err);
  +   }
  +   }
  +   }
-- 
Jilles Tjoelker
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: Request for review, time_pps_fetch() enhancement

2013-02-09 Thread Adrian Chadd
... why aren't you using atomics? or read/write barriers?



Adrian
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Eliminating a warning in sys/boot

2013-02-09 Thread Sean Bruno
So, this is not a valid warning in our universe and I'd like to silence
it when compiling sys/boot as printf(9) and sprintf(9) supports this
format.  How can we silence this warning for the FreeBSD universe?

=== efi/libefi (all)
In file included from efinet.c:39:
/home/sbruno/fbsd_head/sys/boot/efi/libefi/../../common/dev_net.c:328:19: 
warning: invalid conversion specifier 'D'
  [-Wformat-invalid-specifier]
sprintf(temp, %6D, d-myea, :);


SEan


signature.asc
Description: This is a digitally signed message part