FreeBSD 10.0-CURRENT r244916M: osm_console.c:70:1: error: use of GNU old-style field designator extension [-Werror,-Wgnu-designator],on: 0, delay_s: 2, loop_function:NULL};

2013-01-02 Thread O. Hartmann
Current r244916M fails to compile a world with following error:


[...]
cc -O2 -pipe -O3 -march=native
-I/usr/src/contrib/ofed/usr.bin/opensm/../../include/infiniband
-I/usr/src/contrib/ofed/usr.bin/opensm/../../management/opensm/include/
-pthread -DVENDOR_RMPP_SUPPORT -DDUAL_SIDED_RMPP
-I/usr/src/contrib/ofed/usr.bin/opensm/../../include/infiniband
-I/usr/src/contrib/ofed/usr.bin/opensm/../../management/opensm/include/
-std=gnu99 -Qunused-arguments -fstack-protector -Wsystem-headers -Werror
-Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int
-Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
-Wno-unused-function -Wno-conversion -Wno-switch -Wno-switch-enum
-Wno-parentheses -c
/usr/src/contrib/ofed/usr.bin/opensm/../../management/opensm/opensm/main.c
cc -O2 -pipe -O3 -march=native
-I/usr/src/contrib/ofed/usr.bin/opensm/../../include/infiniband
-I/usr/src/contrib/ofed/usr.bin/opensm/../../management/opensm/include/
-pthread -DVENDOR_RMPP_SUPPORT -DDUAL_SIDED_RMPP
-I/usr/src/contrib/ofed/usr.bin/opensm/../../include/infiniband
-I/usr/src/contrib/ofed/usr.bin/opensm/../../management/opensm/include/
-std=gnu99 -Qunused-arguments -fstack-protector -Wsystem-headers -Werror
-Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int
-Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
-Wno-unused-function -Wno-conversion -Wno-switch -Wno-switch-enum
-Wno-parentheses -c
/usr/src/contrib/ofed/usr.bin/opensm/../../management/opensm/opensm/osm_console_io.c
cc -O2 -pipe -O3 -march=native
-I/usr/src/contrib/ofed/usr.bin/opensm/../../include/infiniband
-I/usr/src/contrib/ofed/usr.bin/opensm/../../management/opensm/include/
-pthread -DVENDOR_RMPP_SUPPORT -DDUAL_SIDED_RMPP
-I/usr/src/contrib/ofed/usr.bin/opensm/../../include/infiniband
-I/usr/src/contrib/ofed/usr.bin/opensm/../../management/opensm/include/
-std=gnu99 -Qunused-arguments -fstack-protector -Wsystem-headers -Werror
-Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int
-Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
-Wno-unused-function -Wno-conversion -Wno-switch -Wno-switch-enum
-Wno-parentheses -c
/usr/src/contrib/ofed/usr.bin/opensm/../../management/opensm/opensm/osm_console.c
/usr/src/contrib/ofed/usr.bin/opensm/../../management/opensm/opensm/osm_console.c:70:1:
error: use of GNU old-style field designator extension
[-Werror,-Wgnu-designator]
on: 0, delay_s: 2, loop_function:NULL};
^~~
.on =
/usr/src/contrib/ofed/usr.bin/opensm/../../management/opensm/opensm/osm_console.c:70:8:
error: use of GNU old-style field designator extension
[-Werror,-Wgnu-designator]
on: 0, delay_s: 2, loop_function:NULL};
   ^~~~
   .delay_s =
/usr/src/contrib/ofed/usr.bin/opensm/../../management/opensm/opensm/osm_console.c:70:20:
error: use of GNU old-style field designator extension
[-Werror,-Wgnu-designator]
on: 0, delay_s: 2, loop_function:NULL};
   ^~
   .loop_function =
3 errors generated.
*** [osm_console.o] Error code 1

Stop in /usr/src/contrib/ofed/usr.bin/opensm.
*** [all] Error code 1

Stop in /usr/src/contrib/ofed/usr.bin.
*** [all] Error code 1

Stop in /usr/src/contrib/ofed.
*** [contrib/ofed.all__D] Error code 1

Stop in /usr/src.
*** [everything] Error code 1

Stop in /usr/src.
*** [buildworld] Error code 1

Stop in /usr/src.



signature.asc
Description: OpenPGP digital signature


Re: FreeBSD 10.0-CURRENT r244916M: osm_console.c:70:1: error: use of GNU old-style field designator extension [-Werror, -Wgnu-designator], on: 0, delay_s: 2, loop_function:NULL};

2013-01-02 Thread Garrett Cooper
On Wed, Jan 2, 2013 at 1:21 AM, O. Hartmann ohart...@zedat.fu-berlin.de wrote:
 Current r244916M fails to compile a world with following error:

http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/174214 -- not sure
why it hasn't already been committed.
HTH,
-Garrett
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [RFC/RFT] calloutng

2013-01-02 Thread Luigi Rizzo
On Mon, Dec 31, 2012 at 12:17:27PM +0200, Alexander Motin wrote:
 On 31.12.2012 08:17, Luigi Rizzo wrote:
 On Sun, Dec 30, 2012 at 04:13:43PM -0700, Ian Lepore wrote:
...
 Then I noticed you had a 12_26 patchset so I tested
 that (after crudely fixing a couple uninitialized var warnings), and it
 all looks good on this arm (Raspberry Pi).  I'll attach the results.
 
 It's so sweet to be able to do precision sleeps.
 
 Thank you for testing, Ian.
 
 interesting numbers, but there seems to be some problem in computing
 the exact interval; delays are much larger than expected.
 
 In this test, the original timer code used to round to the next multiple
 of 1 tick and then add another tick (except for the kqueue case),
 which is exactly what you see in the second set of measurements.
 
 The calloutng code however seems to do something odd:
 in addition to fixed overhead (some 50us, which you can see in
 the tests for 1us and 300us), all delay seem to be ~10% larger
 than what is requested, upper bounded to 10ms (note, the
 numbers are averages so i cannot tell whether all samples are
 the same or there is some distribution of values).
 
 I am not sure if this error is peculiar of the ARM version or also
 appears on x86/amd64 but I believe it should be fixed.
 
 If you look at the results below:
 
 1us  possily ok:
  for very short intervals i would expect some kind
  of 'reschedule' without actually firing a timer; maybe
  50us are what it takes to do a round through the scheduler ?
 
 300usprobably ok
  i guess the extra 50-90us are what it takes to do a round
  through the scheduler
 
 1000us   borderline (this is the case for poll and kqueue, which are
  rounded to 1ms)
  here intervals seem to be increased by 10%, and i cannot see
  a good reason for this (more below).
 
 3000us and above: wrong
  here again, the intervals seem to be 10% larger than what is
  requested, perhaps limiting the error to 10-20ms.
 
 
 Maybe the 10% extension results from creating a default 'precision'
 for legacy calls, but i do not think this is done correctly.
 
 First of all, if users do not specify a precision themselves, the
 automatically generated value should never exceed one tick.
 
 Second, the only point of a 'precision' parameter is to merge
 requests that may be close in time, so if there is already a
 timer scheduled within [Treq, Treq+precision] i will get it;
 but if there no pending timer, then one should schedule it
 for the requested interval.
 
 Davide/Alexander, any ideas ?
 
 All mentioned effects could be explained with implemented logic. 50us at 
 1us is probably sum of minimal latency of the hardware eventtimer on the 
 specific platform and some software processing overhead (syscall, 
 callout, timecouters, scheduler, etc). At later points system starts to 
 noticeably use precision specified by kern.timecounter.alloweddeviation 
 sysctl. It affects results from two sides: 1) extending intervals for 
 specified percent of time to allow event aggregation, and 2) choosing 
 time base between fast getbinuptime() and precise binuptime(). Extending 
 interval is needed to aggregate not only callouts with each other, but 
 also callouts with other system events, which are impossible to schedule 
 in advance. It gives specified relative error, but no more then one CPU 
 wakeup period in absolute: for busy CPU (not skipping hardclock() ticks) 
 it is 1/hz, for completely idle one it can be up to 0.5s. Second point 
 allows to reduce processing overhead by the cost of error up to 1/hz for 
 long periods ((100/allowed)*(1/hz)), when it is used.

i am not sure what you mean by extending interval, but i believe the
logic should be the following:

- say user requests a timeout after X seconds and with a tolerance of D second
  (both X and D are fractional, so they can be short).  Interpret this as

   the system should do its best to generate an event between X and X+D 
seconds

- convert X to an absolute time, T_X

- if there are any pending events already scheduled between T_X and T_X+D,
  then by definition they are acceptable. Attach the requested timeout
  to the earliest of these events.

- otherwise, schedule an event at time T_X (because there is no valid
  reason to generate a late event, and it makes no sense from an
  energy saving standpoint, either -- see below).

It seems to me that you are instead extending the requested interval
upfront, which causes some gratuitous pessimizations in scheduling
the callout.

Re. energy savings: the gain in extending the timeout cannot exceed
the value D/X. So while it may make sense to extend a 1us request
to 50us to go (theoretically) from 1M callouts/s to 20K callouts/s,
it is completely pointless from an energy saving standpoint to
introduce a 10ms error on a 300ms request.

(even though i hate the idea that a 1us request defaults to
a 50us delay; but that is hopefully something that can be tuned
in a 

Re: [RFC/RFT] calloutng

2013-01-02 Thread Alexander Motin

On 02.01.2013 12:57, Luigi Rizzo wrote:

On Mon, Dec 31, 2012 at 12:17:27PM +0200, Alexander Motin wrote:

On 31.12.2012 08:17, Luigi Rizzo wrote:

On Sun, Dec 30, 2012 at 04:13:43PM -0700, Ian Lepore wrote:

...

Then I noticed you had a 12_26 patchset so I tested
that (after crudely fixing a couple uninitialized var warnings), and it
all looks good on this arm (Raspberry Pi).  I'll attach the results.

It's so sweet to be able to do precision sleeps.


Thank you for testing, Ian.


interesting numbers, but there seems to be some problem in computing
the exact interval; delays are much larger than expected.

In this test, the original timer code used to round to the next multiple
of 1 tick and then add another tick (except for the kqueue case),
which is exactly what you see in the second set of measurements.

The calloutng code however seems to do something odd:
in addition to fixed overhead (some 50us, which you can see in
the tests for 1us and 300us), all delay seem to be ~10% larger
than what is requested, upper bounded to 10ms (note, the
numbers are averages so i cannot tell whether all samples are
the same or there is some distribution of values).

I am not sure if this error is peculiar of the ARM version or also
appears on x86/amd64 but I believe it should be fixed.

If you look at the results below:

1us possily ok:
for very short intervals i would expect some kind
of 'reschedule' without actually firing a timer; maybe
50us are what it takes to do a round through the scheduler ?

300us   probably ok
i guess the extra 50-90us are what it takes to do a round
through the scheduler

1000us  borderline (this is the case for poll and kqueue, which are
rounded to 1ms)
here intervals seem to be increased by 10%, and i cannot see
a good reason for this (more below).

3000us and above: wrong
here again, the intervals seem to be 10% larger than what is
requested, perhaps limiting the error to 10-20ms.


Maybe the 10% extension results from creating a default 'precision'
for legacy calls, but i do not think this is done correctly.

First of all, if users do not specify a precision themselves, the
automatically generated value should never exceed one tick.

Second, the only point of a 'precision' parameter is to merge
requests that may be close in time, so if there is already a
timer scheduled within [Treq, Treq+precision] i will get it;
but if there no pending timer, then one should schedule it
for the requested interval.

Davide/Alexander, any ideas ?


All mentioned effects could be explained with implemented logic. 50us at
1us is probably sum of minimal latency of the hardware eventtimer on the
specific platform and some software processing overhead (syscall,
callout, timecouters, scheduler, etc). At later points system starts to
noticeably use precision specified by kern.timecounter.alloweddeviation
sysctl. It affects results from two sides: 1) extending intervals for
specified percent of time to allow event aggregation, and 2) choosing
time base between fast getbinuptime() and precise binuptime(). Extending
interval is needed to aggregate not only callouts with each other, but
also callouts with other system events, which are impossible to schedule
in advance. It gives specified relative error, but no more then one CPU
wakeup period in absolute: for busy CPU (not skipping hardclock() ticks)
it is 1/hz, for completely idle one it can be up to 0.5s. Second point
allows to reduce processing overhead by the cost of error up to 1/hz for
long periods ((100/allowed)*(1/hz)), when it is used.


i am not sure what you mean by extending interval, but i believe the
logic should be the following:

- say user requests a timeout after X seconds and with a tolerance of D second
   (both X and D are fractional, so they can be short).  Interpret this as

the system should do its best to generate an event between X and X+D 
seconds

- convert X to an absolute time, T_X

- if there are any pending events already scheduled between T_X and T_X+D,
   then by definition they are acceptable. Attach the requested timeout
   to the earliest of these events.


All above is true, but not following.


- otherwise, schedule an event at time T_X (because there is no valid
   reason to generate a late event, and it makes no sense from an
   energy saving standpoint, either -- see below).


System may have many interrupts except timer: network, disk, ... WiFi 
cards generate interrupts with AP beacon rate -- dozens times per 
second. It is not very efficient to wake up CPU precisely at T_X time, 
that may be just 100us earlier then next hardware interrupt. That's why 
timer interrupts are scheduled at min(T_X+D, 0.5s, next hardclock, next 
statclock, ...). As result, event will be handled within allowed range, 
but real delay will depends on current environment conditions.



It seems to me that you are instead extending the requested interval

installworld failure due to cross-device links

2013-01-02 Thread Stefan Esser
I'd be interested in the general policy on LINKS vs. SYMLINKS
between directories that might end up on different file systems.

There seems to be an assumption that system directories in /usr
(e.g. /usr/bin, /usr/sbin, /usr/libexec) are on the same file
system, but I do not think that this assumption is documented.

I'm using a ZFS only installation of -CURRENT and have separate file
systems for several of the directories in / and /usr, that usually
share a file system (e.g. /bin, /sbin, but also /usr/bin/, /usr/sbin
and /usr/libexec are independent file systems).

An older case is the link from /usr/bin/chgrp to /usr/sbin/chown
(see usr.sbin/chown/Makefile), which is easily fixed by using a
SMYLINK instead of a LINK.

And now there is usr.sbin/bsdinstall/partedit/Makefile, which as of
r244859 creates a link from /usr/libexec/bsdinstall to /usr/sbin/sade.

This breaks with /usr/bin and /usr/sbin on different file systems,
while it should not according to the commit message:

--
r244859 | nwhitehorn | 2012-12-30 15:35:00 +0100 (Sun, 30 Dec 2012) | 7
lines

Replace sade the extracted piece of sysinstall with sade the extracted
piece of bsdinstall (although this time with a symlink instead of
duplicated source code).

Discussed on:   freebsd-geom
MFC after:  3 months
--

The SYMLINK mentioned in the commit message is a LINK to a different
directory, which might be on a different file system, actually.

This should be fixed by the attached patch, to remove the implied
assumption and to make the Makefile match the commit message.

Regards, STefan
Index: Makefile
===
--- Makefile(revision 244957)
+++ Makefile(working copy)
@@ -2,7 +2,8 @@
 
 BINDIR= /usr/libexec/bsdinstall
 PROG=  partedit
-LINKS= ${BINDIR}/partedit ${BINDIR}/autopart ${BINDIR}/partedit /usr/sbin/sade
+LINKS= ${BINDIR}/partedit ${BINDIR}/autopart ${BINDIR}/partedit
+SYMLINKS= /usr/sbin/sade
 LDADD= -lgeom -lncursesw -lutil -ldialog -lm
 
 PARTEDIT_ARCH= ${MACHINE}
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org

Re: [RFC/RFT] calloutng

2013-01-02 Thread Luigi Rizzo
On Wed, Jan 02, 2013 at 01:24:26PM +0200, Alexander Motin wrote:
 On 02.01.2013 12:57, Luigi Rizzo wrote:
...
 i am not sure what you mean by extending interval, but i believe the
 logic should be the following:
 
 - say user requests a timeout after X seconds and with a tolerance of D 
 second
(both X and D are fractional, so they can be short).  Interpret this as
 
 the system should do its best to generate an event between X and X+D 
 seconds
 
 - convert X to an absolute time, T_X
 
 - if there are any pending events already scheduled between T_X and T_X+D,
then by definition they are acceptable. Attach the requested timeout
to the earliest of these events.
 
 All above is true, but not following.
 
 - otherwise, schedule an event at time T_X (because there is no valid
reason to generate a late event, and it makes no sense from an
energy saving standpoint, either -- see below).
 
 System may have many interrupts except timer: network, disk, ... WiFi 
 cards generate interrupts with AP beacon rate -- dozens times per 
 second. It is not very efficient to wake up CPU precisely at T_X time, 
 that may be just 100us earlier then next hardware interrupt. That's why 
 timer interrupts are scheduled at min(T_X+D, 0.5s, next hardclock, next 
 statclock, ...). As result, event will be handled within allowed range, 
 but real delay will depends on current environment conditions.

I don't see why system events (hardclock, statclock, 0.5s,...)
need to be treated specially -- and i am saying this also in
the interest of simplifying the logic of the code.

First of all, if you know that there is already a hardclock/statclock/*
scheduled in [T_X, T_X+D] you just reuse that. This particular bullet
was no event scheduled in [T_X, T_X+D] so you need to generate
a new one.

Surely scheduling the event at T_X+D instead of T_X increases the
chance of merging events. But the saving are smaller and smaller
as the value X increases. This particular client will only
change its request rate from 1/X to 1/(X+D) so in relative terms
the gain is ( 1/X - 1/(X+D) ) / (1/(X+D) ) = D/X

Example: if X = 300ms, and D = 10ms (as in the test case)
you just save one interrupt every 30seconds by scheduling at
T_X+D instead of T_X. Are we actually able to measure the
difference ?

Even at high interrupt rates (e.g. X = 1ms) you are not
going to save a lot unless the tolerance D is very large,
which is generally undesirable for other reasons
(presumably, applications are not going to be happy
if you artificially double their timeouts).
Now, say your application requests timeouts every X = 300ms.

 It seems to me that you are instead extending the requested interval
 upfront, which causes some gratuitous pessimizations in scheduling
 the callout.
 
 Re. energy savings: the gain in extending the timeout cannot exceed
 the value D/X. So while it may make sense to extend a 1us request
 to 50us to go (theoretically) from 1M callouts/s to 20K callouts/s,
 it is completely pointless from an energy saving standpoint to
 introduce a 10ms error on a 300ms request.
 
 I am not so sure in this. When CPU package is in C7 sleep state with all 
 buses and caches shut down and memory set to self refresh, it consumes 
 very few (some milli-Watts) of power. Wake up from that state takes 
 100us or even more with power consumption much higher then normal 
 operational one. Sure, if we compare it with power consumption of 100% 
 CPU load, difference between 10 and 100 wakeups per second may be small, 
 but when comparing to each other in some low-power environment for 
 mostly idle system it may be much more significant.

see above -- at low rates the difference is not measurable,
at high rates thCe only obvious answer is do not use C7 unless
if the next interrupt is due in less than 2..5 milliseconds

 (even though i hate the idea that a 1us request defaults to
 a 50us delay; but that is hopefully something that can be tuned
 in a platform-specific way and perhaps at runtime).
 
 It is 50us on this ARM. On SandyBridge Core i7 it is only about 2us.

very good, i suspected something similar, just wanted to be sure :)

cheers
luigi

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


Re: [RFC/RFT] calloutng

2013-01-02 Thread Alexander Motin
02.01.2013 14:28 пользователь Luigi Rizzo ri...@iet.unipi.it написал:

 On Wed, Jan 02, 2013 at 01:24:26PM +0200, Alexander Motin wrote:
  On 02.01.2013 12:57, Luigi Rizzo wrote:
 ...
  i am not sure what you mean by extending interval, but i believe the
  logic should be the following:
  
  - say user requests a timeout after X seconds and with a tolerance of D
  second
 (both X and D are fractional, so they can be short).  Interpret
this as
  
  the system should do its best to generate an event between X and
X+D
  seconds
  
  - convert X to an absolute time, T_X
  
  - if there are any pending events already scheduled between T_X and
T_X+D,
 then by definition they are acceptable. Attach the requested timeout
 to the earliest of these events.
 
  All above is true, but not following.
 
  - otherwise, schedule an event at time T_X (because there is no valid
 reason to generate a late event, and it makes no sense from an
 energy saving standpoint, either -- see below).
 
  System may have many interrupts except timer: network, disk, ... WiFi
  cards generate interrupts with AP beacon rate -- dozens times per
  second. It is not very efficient to wake up CPU precisely at T_X time,
  that may be just 100us earlier then next hardware interrupt. That's why
  timer interrupts are scheduled at min(T_X+D, 0.5s, next hardclock, next
  statclock, ...). As result, event will be handled within allowed range,
  but real delay will depends on current environment conditions.

 I don't see why system events (hardclock, statclock, 0.5s,...)
 need to be treated specially -- and i am saying this also in
 the interest of simplifying the logic of the code.

Sure. That is mostly for historical reasons. At some point they should
disappear, just not now, as patch is already quite big.

 First of all, if you know that there is already a hardclock/statclock/*
 scheduled in [T_X, T_X+D] you just reuse that. This particular bullet
 was no event scheduled in [T_X, T_X+D] so you need to generate
 a new one.

That is true, but my main point was about merging with external events,
which I can't predict and the only way to merge is increase sleep period,
hoping for better.

 Surely scheduling the event at T_X+D instead of T_X increases the
 chance of merging events. But the saving are smaller and smaller
 as the value X increases. This particular client will only
 change its request rate from 1/X to 1/(X+D) so in relative terms
 the gain is ( 1/X - 1/(X+D) ) / (1/(X+D) ) = D/X

 Example: if X = 300ms, and D = 10ms (as in the test case)
 you just save one interrupt every 30seconds by scheduling at
 T_X+D instead of T_X. Are we actually able to measure the
 difference ?

 Even at high interrupt rates (e.g. X = 1ms) you are not
 going to save a lot unless the tolerance D is very large,
 which is generally undesirable for other reasons
 (presumably, applications are not going to be happy
 if you artificially double their timeouts).
 Now, say your application requests timeouts every X = 300ms.

With default precision set to 5% it will be only 5% save from periods
increase. But that is absolutely not my goal!

Imagine different case: you have NIC interrupts at 1000Hz. Also you have
100 callouts with 100ms period each. If we program timer with absolute
precision, you will get about 2000Hz of total interrupt rate. But if we
allow just 2% deviation, most of callouts will be grouped with NIC
interrupts and total rate will be 1000Hz. Loosing _less_ then 2% of
precision we are reducing interrupt rate in _half_!

  It seems to me that you are instead extending the requested interval
  upfront, which causes some gratuitous pessimizations in scheduling
  the callout.
  
  Re. energy savings: the gain in extending the timeout cannot exceed
  the value D/X. So while it may make sense to extend a 1us request
  to 50us to go (theoretically) from 1M callouts/s to 20K callouts/s,
  it is completely pointless from an energy saving standpoint to
  introduce a 10ms error on a 300ms request.
 
  I am not so sure in this. When CPU package is in C7 sleep state with all
  buses and caches shut down and memory set to self refresh, it consumes
  very few (some milli-Watts) of power. Wake up from that state takes
  100us or even more with power consumption much higher then normal
  operational one. Sure, if we compare it with power consumption of 100%
  CPU load, difference between 10 and 100 wakeups per second may be small,
  but when comparing to each other in some low-power environment for
  mostly idle system it may be much more significant.

 see above -- at low rates the difference is not measurable,
 at high rates thCe only obvious answer is do not use C7 unless
 if the next interrupt is due in less than 2..5 milliseconds

  (even though i hate the idea that a 1us request defaults to
  a 50us delay; but that is hopefully something that can be tuned
  in a platform-specific way and perhaps at runtime).
 
  It is 50us on this ARM. 

Re: installworld failure due to cross-device links

2013-01-02 Thread Nathan Whitehorn
On 01/02/13 07:04, Stefan Esser wrote:
 I'd be interested in the general policy on LINKS vs. SYMLINKS
 between directories that might end up on different file systems.

 There seems to be an assumption that system directories in /usr
 (e.g. /usr/bin, /usr/sbin, /usr/libexec) are on the same file
 system, but I do not think that this assumption is documented.

 I'm using a ZFS only installation of -CURRENT and have separate file
 systems for several of the directories in / and /usr, that usually
 share a file system (e.g. /bin, /sbin, but also /usr/bin/, /usr/sbin
 and /usr/libexec are independent file systems).

 An older case is the link from /usr/bin/chgrp to /usr/sbin/chown
 (see usr.sbin/chown/Makefile), which is easily fixed by using a
 SMYLINK instead of a LINK.

 And now there is usr.sbin/bsdinstall/partedit/Makefile, which as of
 r244859 creates a link from /usr/libexec/bsdinstall to /usr/sbin/sade.

 This breaks with /usr/bin and /usr/sbin on different file systems,
 while it should not according to the commit message:


Thanks for the patch! I've committed it (slightly modified) as r244958.
I haven't taken any action on the chgrp/chown issue, though.
-Nathan
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: clang 3.2 RC2 miscompiles libgcc?

2013-01-02 Thread Stefan Farfeleder
On Sun, Dec 30, 2012 at 11:17:10PM +0100, Dimitry Andric wrote:
 
 I have been playing with Stefan's testcase for a while now, and while I
 can reproduce the crashes, I am still at a loss about the cause.  It
 does seem to have something to do with throwing exceptions, but I am
 still not sure whether I am looking at a bug in boost, gcc, clang, or
 libgcc...
 
 Do you happen to have a smaller testcase, by any chance?

Not yet, but I'll try to come up with something smaller.

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


Re: [RFC/RFT] calloutng

2013-01-02 Thread Ian Lepore
On Wed, 2013-01-02 at 15:11 +0200, Alexander Motin wrote:
 02.01.2013 14:28 пользователь Luigi Rizzo ri...@iet.unipi.it написал:
 
  On Wed, Jan 02, 2013 at 01:24:26PM +0200, Alexander Motin wrote:
   On 02.01.2013 12:57, Luigi Rizzo wrote:

  First of all, if you know that there is already a hardclock/statclock/*
  scheduled in [T_X, T_X+D] you just reuse that. This particular bullet
  was no event scheduled in [T_X, T_X+D] so you need to generate
  a new one.
 
 That is true, but my main point was about merging with external events,
 which I can't predict and the only way to merge is increase sleep period,
 hoping for better.
 

This really is the crux of the problem, because you can't *by default*
dispatch an event earlier than requested because that's just a violation
of the usual rules of precision timing (where you expect to be late but
never early).

Sometimes there is no need for such precision, and an early wakeup is no
more or less detrimental than a late wakeup.  In fact, that may even be
the majority case.  I wonder if it might make sense to allow the
precision specification to indicate whether it needs traditional never
early behavior or whether it can be interpretted as plus or minus this
amount is fine.  Like maybe negative precision is interpretted as plus
or minus abs(precision) or something like that.

Or maybe even the other way around... you get plus or minus precision
by default and the few things that really care about precision timing
have a way of indicating that.  (But in that case the userland sleeps
would have to assume the traditional behavior because that's how they've
always been documented.)

-- Ian


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

Re: Auditdistd user question

2013-01-02 Thread Chris Rees
On 2 January 2013 14:04, Alexander Yerenkow yeren...@gmail.com wrote:
 Hello there and please excuse my harshness.

 I just installed 9.1, and I tried to set up poudriere with 9/stable.
 It took a lot of time compiling kernel and world, and after this it all
 failed with message about missing auditdistd user.
 I just can't find words.
 Why this user presence not checked during buildworld at least? Or by just
 invoking updated Makefile? If there any need to build world without install
 it, wouldn't be better make some conditional flag,
 like BUILD_WITHOUT_AUDITDISTD, instead of silent building and failing after
 that at install stage.
 Of course, in current way just buildworld not broken, but buildworld
 installworld is.
 This looks like like carefully hidden trap, from someone with specific
 sense of humor.
 Or am I missing something, and this is not terribly wrong?

While I agree with you in principle, I must point out that you mustn't
try to run package builds on a newer jail than your host.  This causes
weird kernel/world synchronisation issues.

http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/169659 [for an example]

As far as I know there are no problems with running older jails on
newer hosts (thankfully).

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


Re: Auditdistd user question

2013-01-02 Thread Alexander Yerenkow
2013/1/2 Chris Rees cr...@freebsd.org

 On 2 January 2013 14:04, Alexander Yerenkow yeren...@gmail.com wrote:
  Hello there and please excuse my harshness.
 
  I just installed 9.1, and I tried to set up poudriere with 9/stable.
  It took a lot of time compiling kernel and world, and after this it all
  failed with message about missing auditdistd user.
  I just can't find words.
  Why this user presence not checked during buildworld at least? Or by just
  invoking updated Makefile? If there any need to build world without
 install
  it, wouldn't be better make some conditional flag,
  like BUILD_WITHOUT_AUDITDISTD, instead of silent building and failing
 after
  that at install stage.
  Of course, in current way just buildworld not broken, but buildworld
  installworld is.
  This looks like like carefully hidden trap, from someone with specific
  sense of humor.
  Or am I missing something, and this is not terribly wrong?

 While I agree with you in principle, I must point out that you mustn't
 try to run package builds on a newer jail than your host.  This causes
 weird kernel/world synchronisation issues.


I'm just provided info about my setup as background. My main builder is on
some current revision, and it can't build 9.1 due to some compiler bug. To
not mess with upgrading it, I tried to setup additional 9.1 builder (With
having in plans probably upgrade host to stable, maybe not).

I just think that such improvements could be improved, and in future better
think of all possible cases, not about one.




 http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/169659 [for an example]

 As far as I know there are no problems with running older jails on
 newer hosts (thankfully).

 Chris




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


Re: [RFC/RFT] calloutng

2013-01-02 Thread Luigi Rizzo
On Wed, Jan 02, 2013 at 03:11:05PM +0200, Alexander Motin wrote:
...
  First of all, if you know that there is already a hardclock/statclock/*
  scheduled in [T_X, T_X+D] you just reuse that. This particular bullet
  was no event scheduled in [T_X, T_X+D] so you need to generate
  a new one.
 
 That is true, but my main point was about merging with external events,
 which I can't predict and the only way to merge is increase sleep period,
 hoping for better.

ok, now i understand why you want to schedule for T_X+D.

Probably one way to close this discussion would be to provide
a sysctl so the sysadmin can decide which point in the interval
to pick when there is no suitable callout already scheduled.

cheers
luigi

-+---
  Prof. Luigi RIZZO, ri...@iet.unipi.it  . Dip. di Ing. dell'Informazione
  http://www.iet.unipi.it/~luigi/. Universita` di Pisa
  TEL  +39-050-2211611   . via Diotisalvi 2
  Mobile   +39-338-6809875   . 56122 PISA (Italy)
-+---
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


problem after installkernel going from 9.0 to CURRENT

2013-01-02 Thread Robert Huff
	(While this may not be a strictly CURRENT issue, I asked on questions@, 
but have not found a solution.)


Situation:
	One of my boxes failed, and for various reasons it became easier to 
just scrub and rebuild it. Like its predecessor it will run CURRENT

1) Using BSDinstall, I flushed then created the first disk:

ada2p1  freebsd-boot128k
ada2p2  freebsd-swap4g
ada2p3  freebsd-ufs 25g

(There are non-bootable disks at ada0, -1, and -3.)

2) Installed off the 9.0 CD, got it up and running, everything was good.
3) Used csup (tag=.) to update the source tree as of 00:01 on 12/30.
4a) Built world - OK.
4b) Build kernel - OK.
4c) Ran mergemaster - OK.
4d) Installed kernel - OK.
5) On rebooting, the loader(??) claims to not be able to find a
bootable partition - i.e. I get a screen that ends in mountroot  .
Providing the presumptive value by hand returns error 19.
	6) Boot using installation CD and use gpart show to double check 
device names and partitions; everything looks good.

7) Try normal booting again, no go.

	This is my first time installing to a completely GPT partitioned 
system, and I have (obviously) failed to grok something.  I checked 
src/UPDATING and found nothing which covered this.

What have I bungled, and how do I fix it?


Respectfully,


Robert Huff


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


auditdistd (again)

2013-01-02 Thread Benjamin Kaduk
My recent upgrading experience led to the installkernel portion of 'make 
kernel' failing on the lack of an auditdistd user, for which 'mergemaster 
-p' was ample workaround.  However, the instructions for to rebuild 
everything in UPDATING still have 'mergemaster -p' before installworld 
and after kernel/installkernel.


There is a bug here, but it could be either a documentation bug (fix 
UPDATING) or a code bug (only check UID/GIDs before installworld and not 
installkernel, which only ever uses root:wheel).


Unfortunately, testing code for the latter is somewhat time-consuming.

Pawel mentioned on #bsddev that he had an untested patch for the latter. 
Is there interest in testing that and getting it in the tree?  (Or would 
people prefer to just change UPDATING?)


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


Re: [RFC/RFT] calloutng

2013-01-02 Thread Konstantin Belousov
On Wed, Jan 02, 2013 at 05:22:06PM +0100, Luigi Rizzo wrote:
 On Wed, Jan 02, 2013 at 03:11:05PM +0200, Alexander Motin wrote:
 ...
   First of all, if you know that there is already a hardclock/statclock/*
   scheduled in [T_X, T_X+D] you just reuse that. This particular bullet
   was no event scheduled in [T_X, T_X+D] so you need to generate
   a new one.
  
  That is true, but my main point was about merging with external events,
  which I can't predict and the only way to merge is increase sleep period,
  hoping for better.
 
 ok, now i understand why you want to schedule for T_X+D.
 
 Probably one way to close this discussion would be to provide
 a sysctl so the sysadmin can decide which point in the interval
 to pick when there is no suitable callout already scheduled.
Isn't trying to synchronize to the external events in this way unsafe ?
I remember, but cannot find the reference right now, a scheduler
exploit(s) which completely hide malicious thread from the time
accounting, by making it voluntary yielding right before statclock
should fire. If statistic gathering could be piggy-backed on the
external interrupt, and attacker can control the source of the external
events, wouldn't this give her a handle ?


pgpVV7IP9DZbJ.pgp
Description: PGP signature


Re: problem after installkernel going from 9.0 to CURRENT

2013-01-02 Thread Benjamin Kaduk

On Wed, 2 Jan 2013, Robert Huff wrote:

	(While this may not be a strictly CURRENT issue, I asked on 
questions@, but have not found a solution.)


Situation:
	One of my boxes failed, and for various reasons it became easier to 
just scrub and rebuild it. Like its predecessor it will run CURRENT

1) Using BSDinstall, I flushed then created the first disk:

ada2p1  freebsd-boot128k
ada2p2  freebsd-swap4g
ada2p3  freebsd-ufs 25g

(There are non-bootable disks at ada0, -1, and -3.)


For a full clean install, I believe that bsdinstall should prompt about 
installing bootcode around here.  I don't really understand from your 
procedure how bsdinstall was used; there might be some edge case where 
there is no prompt about bootcode.


	2) Installed off the 9.0 CD, got it up and running, everything was 
good.

3) Used csup (tag=.) to update the source tree as of 00:01 on 12/30.
4a) Built world - OK.
4b) Build kernel - OK.
4c) Ran mergemaster - OK.
4d) Installed kernel - OK.
5) On rebooting, the loader(??) claims to not be able to find a
bootable partition - i.e. I get a screen that ends in mountroot  .
Providing the presumptive value by hand returns error 19.
	6) Boot using installation CD and use gpart show to double check 
device names and partitions; everything looks good.

7) Try normal booting again, no go.

	This is my first time installing to a completely GPT partitioned 
system, and I have (obviously) failed to grok something.  I checked 
src/UPDATING and found nothing which covered this.

What have I bungled, and how do I fix it?


I think you should investigate the 'bootcode' subcommand of gpart(8).

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


Re: [RFC/RFT] calloutng

2013-01-02 Thread Adrian Chadd
.. I'm pretty damned sure we're going to need to enforce a never
earlier than X latency.

Is there a more detailed writeup of calloutng somewhere, besides
David's slides? The wiki page is rather empty.

Eg - I think this work does coalesce wakeups, right? Or it can? So
when in low-power scenarios you can end up with lower-resolution
callout periods, but many less CPU wakeups a second?

(Do we actually _expose_ wakeups-per-second somewhere?)



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


Re: auditdistd (again)

2013-01-02 Thread Bryan Drewery
On 1/2/2013 12:10 PM, Benjamin Kaduk wrote:
 My recent upgrading experience led to the installkernel portion of 'make
 kernel' failing on the lack of an auditdistd user, for which
 'mergemaster -p' was ample workaround.  However, the instructions for
 to rebuild everything in UPDATING still have 'mergemaster -p' before
 installworld and after kernel/installkernel.

This is also documented in misc/174405

 
 There is a bug here, but it could be either a documentation bug (fix
 UPDATING) or a code bug (only check UID/GIDs before installworld and not
 installkernel, which only ever uses root:wheel).
 
 Unfortunately, testing code for the latter is somewhat time-consuming.
 
 Pawel mentioned on #bsddev that he had an untested patch for the latter.
 Is there interest in testing that and getting it in the tree?  (Or would
 people prefer to just change UPDATING?)
 


-- 
Regards,
Bryan Drewery




signature.asc
Description: OpenPGP digital signature


Re: loopback interface broken on current

2013-01-02 Thread Gleb Smirnoff
On Tue, Jan 01, 2013 at 12:42:47PM -0800, Manfred Antar wrote:
M OK
M I tracked it down to revision 244678
M 244677 works
M the files involved are:
M (src)5012}svn up -r 244678
M Updating '.':
M Usys/netinet/in.c
M Usys/netinet6/in6.c
M Updated to revision 244678
M 
M It seems like the ip6 for localhost is configured but ip4 isn't:
M Setting hostname: pozo.com.
M ifa_del_loopback_route: deletion failed: 3
M ifconfig: ioctl (SIOCAIFADDR): File exists
M bge0: link state changed to DOWN
M ifa_del_loopback_route: deletion failed: 3
M 
M lo0: flags=8049UP,LOOPBACK,RUNNING,MULTICAST metric 0 mtu 16384
M options=63RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6
M inet6 ::1 prefixlen 128 
M inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 
M nd6 options=21PERFORMNUD,AUTO_LINKLOCAL
M 
M  From 244677:
M Setting hostname: pozo.com.
M 
M Starting Network: lo0 bge0.
M lo0: flags=8049UP,LOOPBACK,RUNNING,MULTICAST metric 0 mtu 16384
M options=63RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6
M inet 127.0.0.1 netmask 0xff00 
M inet6 ::1 prefixlen 128 
M inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 
M nd6 options=21PERFORMNUD,AUTO_LINKLOCAL

Ok, so this is my failure. :( Sorry. I will look at it as soon as
I get to decent internet connection. Right now I am on very bad GPRS.

Can you please show your rc.conf (the network related part)?


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


Re: problem after installkernel going from 9.0 to CURRENT

2013-01-02 Thread Robert Huff

On 1/2/2013 1:57 PM, Benjamin Kaduk wrote:

On Wed, 2 Jan 2013, Robert Huff wrote:



For a full clean install, I believe that bsdinstall should prompt about
installing bootcode around here.  I don't really understand from your
procedure how bsdinstall was used; there might be some edge case where
there is no prompt about bootcode.


2) Installed off the 9.0 CD, got it up and running, everything was
good.


Let me elaborate on this:

	2) Installed off the 9.0 CD, had a fully bootable system connected to 
the Internet, everything was good.



I think you should investigate the 'bootcode' subcommand of gpart(8).


Does the above change things?
	It was my expectation installkernel would Do The Right Thing with 
respect to new bootcode, and I am surprised it did not.


Respectfully,


Robert Huff


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


Re: CFT: Overhauled CPSW driver for BeagleBone

2013-01-02 Thread Brett Wynkoop
On Tue, 1 Jan 2013 10:55:58 -0800
Tim Kientzle kient...@freebsd.org wrote:

 
 On Jan 1, 2013, at 8:12 AM, Brett Wynkoop wrote:
  Greeting-
  
  The driver is working much better than the driver currently in
  head.  I have maintained an ssh connection to the BeagleBone for
  more than 24 hours!
 
 Just committed this to -CURRENT r244939.
 
 Tim

Ok time to cvsup then rebuild the kernel followed by a buildworld!

Thanks Tim!

-- 

wynk...@wynn.com   http://prd4.wynn.com/wynkoop/pgp-keys.txt
917-642-6924
718-717-5435

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


Re: [RFC/RFT] calloutng

2013-01-02 Thread Alexander Motin

On 02.01.2013 19:09, Konstantin Belousov wrote:

On Wed, Jan 02, 2013 at 05:22:06PM +0100, Luigi Rizzo wrote:

Probably one way to close this discussion would be to provide
a sysctl so the sysadmin can decide which point in the interval
to pick when there is no suitable callout already scheduled.

Isn't trying to synchronize to the external events in this way unsafe ?
I remember, but cannot find the reference right now, a scheduler
exploit(s) which completely hide malicious thread from the time
accounting, by making it voluntary yielding right before statclock
should fire. If statistic gathering could be piggy-backed on the
external interrupt, and attacker can control the source of the external
events, wouldn't this give her a handle ?


There are many different kinds of accounting with different 
characteristics. Run time for each thread calculated using high 
resolution per-CPU clocks on each context switch. It is impossible to 
hide from it. System load average updated using callout and aligned with 
hardclock(). Hiding from it was easy before, but it can be made more 
complicated (asynchronous) now. Per-CPU SYSTEM/INTERRUPT/USER/NICE/IDLE 
counters are updated by statcklock(), that is asynchronous to 
hardclock() and hiding from it supposed to be more complicated. But even 
before it was possible, since hardclock() frequency is 8 times higher 
then statclock() one. More important for scheduling fairness thread's 
CPU percentage is also based on hardclock() and hiding from it was 
trivial before, since all sleep primitives were strictly aligned to 
hardclock(). Now it is slightly less trivial, since this alignment was 
removed and user-level APIs provide no easy way to enforce it.


The only way to get really safe accounting is forget about sampling and 
use potentially more expensive other ways. It was always stopped by lack 
of cheap and reliable clocks. But since TSC is P-state invariant on most 
of CPUs present now it could probably be reconsidered.


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


Re: clang 3.2 RC2 miscompiles libgcc?

2013-01-02 Thread Eitan Adler
On 2 January 2013 08:59, Stefan Farfeleder stef...@freebsd.org wrote:
 On Sun, Dec 30, 2012 at 11:17:10PM +0100, Dimitry Andric wrote:

 I have been playing with Stefan's testcase for a while now, and while I
 can reproduce the crashes, I am still at a loss about the cause.  It
 does seem to have something to do with throwing exceptions, but I am
 still not sure whether I am looking at a bug in boost, gcc, clang, or
 libgcc...

 Do you happen to have a smaller testcase, by any chance?

 Not yet, but I'll try to come up with something smaller.

Take a look at devel/delta as well as creduce (require ToT clang so it
is unported at this time) to help you with finding minimal testcase.
If you need help, let me know.


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


Re: [RFC/RFT] calloutng

2013-01-02 Thread Alexander Motin

On 02.01.2013 18:08, Adrian Chadd wrote:

.. I'm pretty damned sure we're going to need to enforce a never
earlier than X latency.


Do you mean here that we should never wake up before specified time 
(just as specified by the most of existing APIs), or that we should not 
allow sleep shorter then some value to avoid DoS? At least on x86 
nanosleep(0) doesn't allow to block the system. Also there is already 
present mechanism for specifying minimum timer programming interval in 
eventtimers(9) KPI.



Is there a more detailed writeup of calloutng somewhere, besides
David's slides? The wiki page is rather empty.


There are updated manual pages in the patch. Also Davide written some 
blog during GSoC. Now we are working on papers for the AsiaBSDCon.



Eg - I think this work does coalesce wakeups, right? Or it can? So
when in low-power scenarios you can end up with lower-resolution
callout periods, but many less CPU wakeups a second?


This work does coalesce wakeups out of the box, but also provide ways to 
improve it further, where possible. With additional tuning of some 
kernel subsystems and drivers I was able to drop total idle interrupt 
rate down to 10-15Hz on arm and 20-30Hz on x86.



(Do we actually _expose_ wakeups-per-second somewhere?)


On systems with ACPI there are average per-CPU sleep times exposed via 
sysctls dev.cpu.X.cx_usage. Also cpu_idle() call rate calculated by both 
schedulers for purposes of idle loop optimizations, but it is not 
exposed outside now. Also for idle SMP system enabling COUNT_IPIS should 
give number of interrupts in systat comparable to number of wakeups. I 
am mostly using the last way.


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


Re: loopback interface broken on current

2013-01-02 Thread Manfred Antar



Ok, so this is my failure. :( Sorry. I will look at it as soon as
I get to decent internet connection. Right now I am on very bad GPRS.

Can you please show your rc.conf (the network related part)?


-- 
Totus tuus, Glebius.

Here you go:
/etc/hosts:
::1 localhost   localhost.pozo.com
127.0.0.1   localhost   localhost.pozo.com

/etc/rc.conf:
ifconfig_lo0=inet 127.0.0.1   # default loopback device configuration.
ifconfig_bge0=inet 192.168.0.5 netmask 255.255.255.0

defaultrouter=192.168.0.1 # Set to default gateway

ipv6_network_interfaces=auto  # List of IPv6 network interfaces
# (or auto or none).
ipv6_activate_all_interfaces=NO   # If NO, interfaces which have no
ipv6_defaultrouter=NO # Set to IPv6 default gateway (or NO).
ipv6_static_routes=   # Set to static route list (or leave 
empty).
#ipv6_static_routes=xxx   # An example to set 
fec0:::0006::/64
#  route toward 
loopback interface.
#ipv6_route_xxx=fec0:::0006:: -prefixlen 64 ::1
ipv6_gateway_enable=NO# Set to YES if this host will be a 
gateway.
ipv6_cpe_wanif=NO # Set to the upstram interface 
name if this
# node will work as a 
router to forward IPv6
# packets not 
explicitly addressed to itself.
ipv6_privacy=NO   # Use privacy address on RA-receiving 
IFs
# (RFC 4941)

route6d_enable=NO # Set to YES to enable an IPv6 routing 
daemon.
route6d_program=/usr/sbin/route6d # Name of IPv6 routing daemon.
route6d_flags=# Flags to IPv6 routing daemon.
#route6d_flags=-l # Example for route6d with only IPv6 
site local
# addrs.
#route6d_flags=-q # If you want to run a routing 
daemon on an end
# node, you should stop 
advertisement.
#ipv6_network_interfaces=ed0 ep0  # Examples for router
# or static 
configuration for end node.
# Choose correct prefix 
value.
#ipv6_prefix_ed0=fec0:::0001 fec0:::0002  # Examples for rtr.
#ipv6_prefix_ep0=fec0:::0003 fec0:::0004  # Examples for rtr.
ipv6_default_interface=NO # Default output interface for 
scoped addrs.
# This works only with
# 
ipv6_gateway_enable=NO.

That pretty much it, nothing special
I haven't made any changes to it in over 2 years.

The only thing about 1 year ago I enabled:
### Network link/usability verification options
netwait_enable=YES# Enable rc.d/netwait (or NO)
netwait_ip=192.168.0.1# IP addresses to be pinged by netwait. 


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

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


[head tinderbox] failure on powerpc/powerpc

2013-01-02 Thread FreeBSD Tinderbox
TB --- 2013-01-03 00:12:40 - tinderbox 2.10 running on freebsd-current.sentex.ca
TB --- 2013-01-03 00:12:40 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2013-01-03 00:12:40 - starting HEAD tinderbox run for powerpc/powerpc
TB --- 2013-01-03 00:12:40 - cleaning the object tree
TB --- 2013-01-03 00:12:40 - /usr/local/bin/svn stat /src
TB --- 2013-01-03 00:14:21 - At svn revision 244959
TB --- 2013-01-03 00:14:22 - building world
TB --- 2013-01-03 00:14:22 - CROSS_BUILD_TESTING=YES
TB --- 2013-01-03 00:14:22 - MAKEOBJDIRPREFIX=/obj
TB --- 2013-01-03 00:14:22 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2013-01-03 00:14:22 - SRCCONF=/dev/null
TB --- 2013-01-03 00:14:22 - TARGET=powerpc
TB --- 2013-01-03 00:14:22 - TARGET_ARCH=powerpc
TB --- 2013-01-03 00:14:22 - TZ=UTC
TB --- 2013-01-03 00:14:22 - __MAKE_CONF=/dev/null
TB --- 2013-01-03 00:14:22 - cd /src
TB --- 2013-01-03 00:14:22 - /usr/bin/make -B buildworld
 Building an up-to-date make(1)
 World build started on Thu Jan  3 00:14:27 UTC 2013
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
[...]
ranlib libllvmasmprinter.a
=== lib/clang/libllvmbitreader (all)
c++  -O2 -pipe -I/src/lib/clang/libllvmbitreader/../../../contrib/llvm/include 
-I/src/lib/clang/libllvmbitreader/../../../contrib/llvm/tools/clang/include 
-I/src/lib/clang/libllvmbitreader/../../../contrib/llvm/lib/Bitcode/Reader -I. 
-I/src/lib/clang/libllvmbitreader/../../../contrib/llvm/../../lib/clang/include 
-DLLVM_ON_UNIX -DLLVM_ON_FREEBSD -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS 
-fno-strict-aliasing 
-DLLVM_DEFAULT_TARGET_TRIPLE=\powerpc-unknown-freebsd10.0\ 
-DLLVM_HOSTTRIPLE=\powerpc-unknown-freebsd10.0\ -DDEFAULT_SYSROOT=\\ 
-fstack-protector -fno-exceptions -fno-rtti -c 
/src/lib/clang/libllvmbitreader/../../../contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
 -o BitcodeReader.o
/src/lib/clang/libllvmbitreader/../../../contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:
 In member function 'bool 
llvm::BitcodeReader::ParseFunctionBody(llvm::Function*)':
/src/lib/clang/libllvmbitreader/../../../contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:1905:
 internal compiler error: Segmentation fault: 11
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
*** [BitcodeReader.o] Error code 1

Stop in /src/lib/clang/libllvmbitreader.
*** [all] Error code 1

Stop in /src/lib/clang.
*** [all] Error code 1

Stop in /src/lib.
*** [lib__L] Error code 1

Stop in /src.
*** [libraries] Error code 1

Stop in /src.
*** [_libraries] Error code 1

Stop in /src.
*** Error code 1

Stop in /src.
TB --- 2013-01-03 01:37:18 - WARNING: /usr/bin/make returned exit code  1 
TB --- 2013-01-03 01:37:18 - ERROR: failed to build world
TB --- 2013-01-03 01:37:18 - 4087.23 user 492.52 system 5077.28 real


http://tinderbox.freebsd.org/tinderbox-head-ss-build-HEAD-powerpc-powerpc.full
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: loopback interface broken on current

2013-01-02 Thread KAHO Toshikazu
  Hello,

I have a similar problem if ifconfig_lo0 line is exist in /etc/rc.conf.
Can you remove lo0 configure line from /etc/rc.conf.

 /etc/rc.conf:
 ifconfig_lo0=inet 127.0.0.1   # default loopback device 
 configuration.

-- 
vi...@elam.kais.kyoto-u.ac.jp
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: loopback interface broken on current

2013-01-02 Thread Manfred Antar
At 07:09 PM 1/2/2013, KAHO Toshikazu wrote:
  Hello,

I have a similar problem if ifconfig_lo0 line is exist in /etc/rc.conf.
Can you remove lo0 configure line from /etc/rc.conf.

 /etc/rc.conf:
 ifconfig_lo0=inet 127.0.0.1   # default loopback device 
 configuration.

Ok
I commented out that line and it seems to work.
There is still ifa_del_loopback_route: deletion failed: 3
that wasn't there before,but the 127.0.0.1 seems to be configured now:

Setting hostname: pozo.com.
bge0: link state changed to DOWN
ifa_del_loopback_route: deletion failed: 3
bge0: link state changed to UP
Starting Network: lo0 bge0.
lo0: flags=8049UP,LOOPBACK,RUNNING,MULTICAST metric 0 mtu 16384
options=63RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6
inet6 ::1 prefixlen 128 
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 
inet 127.0.0.1 netmask 0xff00 
nd6 options=21PERFORMNUD,AUTO_LINKLOCAL
bge0: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST metric 0 mtu 1500

options=8009bRXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTATE
ether 00:0e:7f:66:30:20
inet 192.168.0.5 netmask 0xff00 broadcast 192.168.0.255 
inet6 fe80::20e:7fff:fe66:3020%bge0 prefixlen 64 scopeid 0x1 
nd6 options=29PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL
media: Ethernet autoselect (100baseTX full-duplex)
status: active
Starting devd.
add net default: gateway 192.168.0.1
add net :::0.0.0.0: gateway ::1
add net ::0.0.0.0: gateway ::1
add net fe80::: gateway ::1
add net ff02::: gateway ::1
Waiting for bge0 to have link.
Waiting for 192.168.0.1 to respond to ICMP.

#

(~)4999}ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.029 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.039 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.045 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.042 ms
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.044 ms
64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.047 ms
64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.045 ms
^C
--- localhost ping statistics ---
8 packets transmitted, 8 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.029/0.043/0.050/0.006 ms
(~)5000}

Manfred


||  n...@pozo.com   ||
||  Ph. (415) 681-6235  ||
 


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

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


Re: [RFC/RFT] calloutng

2013-01-02 Thread Kevin Oberman
On Wed, Jan 2, 2013 at 2:06 PM, Alexander Motin m...@freebsd.org wrote:
 On 02.01.2013 18:08, Adrian Chadd wrote:

 .. I'm pretty damned sure we're going to need to enforce a never
 earlier than X latency.


 Do you mean here that we should never wake up before specified time (just as
 specified by the most of existing APIs), or that we should not allow sleep
 shorter then some value to avoid DoS? At least on x86 nanosleep(0) doesn't
 allow to block the system. Also there is already present mechanism for
 specifying minimum timer programming interval in eventtimers(9) KPI.

I can see serious performance issues with some hardware (wireless
comes to mind) if things happen too quickly. Intuition is that it
could also play hob with VMs.

I believe that the proper way is to wake between  T_X and T_X + D.
This assumes that D is max_wake_delay, not deviation, which leaves us
at the original of (T_X) = event_time = (T_X + D).
-- 
R. Kevin Oberman, Network Engineer
E-mail: kob6...@gmail.com
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org