Re: ale(4) cannot negotiate as GigE

2013-03-05 Thread Alexey Dokuchaev
On Tue, Mar 05, 2013 at 04:43:15PM +0900, YongHyeon PYUN wrote:
   Could you disable WOL before rebooting your box?
  
  # ifconfig ale0 -wol
  # reboot
  
  It came up as 100baseTX. :(
 
 You don't use any manual link configuration, right?

Right, everything is auto (that is, the defaults).

 When you see the controller established a 100Mbps link, how about
 restarting auto-negotiation? Does that also result in 100Mbps link?

# ifconfig ale0 media auto
# ifconfig ale0 | egrep -v ether\|inet
ale0: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST metric 0 mtu 1500

options=c319aTXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE
nd6 options=29PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL
media: Ethernet autoselect (100baseTX full-duplex)
status: active

Tried a few times, no difference.

./danfe
___
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: access to hard drives is blocked by writes to a flash drive

2013-03-05 Thread Don Lewis
On  5 Mar, Poul-Henning Kamp wrote:
 Content-Type: text/plain; charset=ISO-8859-1
 
 In message 201303050519.r255jbau012...@gw.catspoiler.org, Don Lewis writes:
 
That's been my opinion for a long time as well, though I think it would
be better to have one thread per device to avoid syncer threads for
multiple partitions on the same drive all contending for the same
actuator.
 
 That would require that you move the syncer to the bottom of GEOM
 and initiate syncs by upcalls to the consumers above.  But how
 does that work in the case of a mirrored drive ?

... or even worse, raid5.

 Doesn't sound like a good idea to me.

I wasn't advocating anything like that, but something more like this
example:
When we first boot, we mount /dev/ada0s1a to /.  We query geom to
find the underlying device name for ada0s1a and find that it is
ada0.  We find that we don't have a syncer thread for ada0, so
we start one and attach the syncer worklist for / to the thread.

Next we mount /dev/ada0s1h to /home.  We query geom to find the
underlying device name and find that it is also ada0.  Since there
is already a syncer thread for ada0, we just attach the /home
worklist to this thread.

Next we mount /dev/ada1s1a to /somewhere.  We query geom, find that
there is no syncer thread for ada1, so we start one and attach the
worklist for /somewhere to this thread.

For composite devices such as mirrors, using the first underlying device
is probably a reasonable choice.  For more complicated cases, or to
override the default, the syncer thread could be specified as a mount
option.

Each time it woke up, each syncer thread would walk through its list
of worklists, and for each worklist it would fsync all the vnodes in
the current bucket.

Multiple threads would allow us to better exploit the parallelism
provided by the hardware and prevent a slow drive from impacting the
performance of the other drives in the system.
 
 It would also allow us to have different sync-intervals for different
 filesystems.

Yup, you could override the system default intervals using mount
options.

___
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: access to hard drives is blocked by writes to a flash drive

2013-03-05 Thread Poul-Henning Kamp
In message 201303050840.r258egag012...@gw.catspoiler.org, Don Lewis writes:

For composite devices such as mirrors, using the first underlying device
is probably a reasonable choice.  For more complicated cases, or to
override the default, the syncer thread could be specified as a mount
option.

I doubt that will be any better than what we have today.

I think it is a much better idea to have the syncer monitor bio write
latency and adjust accordingly.


-- 
Poul-Henning Kamp   | UNIX since Zilog Zeus 3.20
p...@freebsd.org | TCP/IP since RFC 956
FreeBSD committer   | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
___
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: serial console not accepting input?

2013-03-05 Thread Eggert, Lars
On Mar 4, 2013, at 20:59, Doug Ambrisko ambri...@ambrisko.com wrote:
 Try to do a {Ctrl}D to see if works.  We've seen that the TX on reset
 hangs but input works fine.  I'm not sure if we ran into this with
 uart(4) but had a problem with sio(4).

No change.

Lars
___
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: ale(4) cannot negotiate as GigE

2013-03-05 Thread YongHyeon PYUN
On Tue, Mar 05, 2013 at 08:06:20AM +, Alexey Dokuchaev wrote:
 On Tue, Mar 05, 2013 at 04:43:15PM +0900, YongHyeon PYUN wrote:
Could you disable WOL before rebooting your box?
   
   # ifconfig ale0 -wol
   # reboot
   
   It came up as 100baseTX. :(
  
  You don't use any manual link configuration, right?
 
 Right, everything is auto (that is, the defaults).
 
  When you see the controller established a 100Mbps link, how about
  restarting auto-negotiation? Does that also result in 100Mbps link?
 
 # ifconfig ale0 media auto
 # ifconfig ale0 | egrep -v ether\|inet
 ale0: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST metric 0 mtu 1500
 
 options=c319aTXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE
 nd6 options=29PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL
 media: Ethernet autoselect (100baseTX full-duplex)
 status: active
 
 Tried a few times, no difference.

Hmm, Does the switch support EEE feature? If yes, would you try
disabling it?

 
 ./danfe
___
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: ale(4) cannot negotiate as GigE

2013-03-05 Thread Alexey Dokuchaev
On Tue, Mar 05, 2013 at 05:57:03PM +0900, YongHyeon PYUN wrote:
 Hmm, Does the switch support EEE feature? If yes, would you try
 disabling it?

I do not think it [1] does; plus I cannot do much about this switch, as I'm
pretty far away from it right now.

./danfe

[1] 
http://netgear.com/home/products/switches-and-access-points/unmanaged-switches/GS608.aspx
 (got it about 4 years ago)
___
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


r247829: dbus fails to start. portmaster SIGNAL 13 when doing extraction

2013-03-05 Thread Hartmann, O.
On FreeBSD 10.0-CURRENT #3 r247829: Tue Mar  5 08:12:19 CET 2013/amd64 I
run into a mess and can not figure out what happens.

Suddenly, after upgrading, buildworld etc., dbus fails to start so X11
is without mouse.

Trying to rebuild the port dbus fails in a SIGNAL 13 while [do-extract].

This is weird. I can not extract and rebuild ports anymore, every port I
try to rebuild with portmaster fails with the very same fault:

= SHA256 Checksum OK for dbus-1.4.14.tar.gz.
*** [do-extract] Signal 13

Stop in /usr/ports/devel/dbus.

=== make failed for devel/dbus
=== Aborting update


What is going on? Why is that?


-- 
___
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: access to hard drives is blocked by writes to a flash drive

2013-03-05 Thread Don Lewis
On  5 Mar, Poul-Henning Kamp wrote:
 In message 201303050840.r258egag012...@gw.catspoiler.org, Don Lewis writes:
 
For composite devices such as mirrors, using the first underlying device
is probably a reasonable choice.  For more complicated cases, or to
override the default, the syncer thread could be specified as a mount
option.
 
 I doubt that will be any better than what we have today.

I'm thinking of the case where ada0s1a and ada1s1a are mirrored, ada0s2b
and ada1s2b are mirrored, etc.  Or ada0 and ada1 are mirrored and then
the mirror is partitioned.  We don't want two syncer threads
simultaneously trying to fsync files on the outer tracks and the inner
tracks.  If we just create a syncer thread for ada0, it will fsync the
files on the outer tracks first and then go on to the inner tracks,
avoiding lots of long seeks.

 I think it is a much better idea to have the syncer monitor bio write
 latency and adjust accordingly.

That's a good idea as well, but that's also something that is global to
each device.

___
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: r247829: dbus fails to start. portmaster SIGNAL 13 when doing extraction

2013-03-05 Thread Dimitry Andric

On 2013-03-05 10:16, Hartmann, O. wrote:

On FreeBSD 10.0-CURRENT #3 r247829: Tue Mar  5 08:12:19 CET 2013/amd64 I
run into a mess and can not figure out what happens.

Suddenly, after upgrading, buildworld etc., dbus fails to start so X11
is without mouse.

Trying to rebuild the port dbus fails in a SIGNAL 13 while [do-extract].

This is weird. I can not extract and rebuild ports anymore, every port I
try to rebuild with portmaster fails with the very same fault:

= SHA256 Checksum OK for dbus-1.4.14.tar.gz.
*** [do-extract] Signal 13


This is SIGPIPE, so maybe your tar is broken?  What happens if you
manually extract that tar.gz file?
___
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: r247829: dbus fails to start. portmaster SIGNAL 13 when doing extraction

2013-03-05 Thread Hartmann, O.
On 03/05/13 10:33, Dimitry Andric wrote:
 On 2013-03-05 10:16, Hartmann, O. wrote:
 On FreeBSD 10.0-CURRENT #3 r247829: Tue Mar  5 08:12:19 CET 2013/amd64 I
 run into a mess and can not figure out what happens.

 Suddenly, after upgrading, buildworld etc., dbus fails to start so X11
 is without mouse.

 Trying to rebuild the port dbus fails in a SIGNAL 13 while [do-extract].

 This is weird. I can not extract and rebuild ports anymore, every port I
 try to rebuild with portmaster fails with the very same fault:

 = SHA256 Checksum OK for dbus-1.4.14.tar.gz.
 *** [do-extract] Signal 13
 
 This is SIGPIPE, so maybe your tar is broken?  What happens if you
 manually extract that tar.gz file?


I'm now with FreeBSD 10.0-CURRENT #0 r247832: Tue Mar  5 10:16:41 CET
2013/amd64.

The buildworld is performed with CLANG - as it should be and for most
ports, I use also CLANG. Just for the record.

Now, after the buildworld and install, after the reboot the X11
server/xdm isn't even coming up again!

Looking at /usr/src/UPDATING says I should recompile kernel modules or
ports that provide such. With buildworld I have done so, all other
rebuild is impossible due to a system failure as reported.

I tried extract with tar (which tar provides /usr/bin/tar) the port
devel/dbus - I can extract. I tried gtar (which gtar: /usr/local/bin/gtar).

If tar is broken, then tar on CURRENT is broken.

At the moment, I'm floating liek a dead man in the water.


___
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: r247829: dbus fails to start. portmaster SIGNAL 13 when doing extraction

2013-03-05 Thread Hartmann, O.
On 03/05/13 10:33, Dimitry Andric wrote:
 On 2013-03-05 10:16, Hartmann, O. wrote:
 On FreeBSD 10.0-CURRENT #3 r247829: Tue Mar  5 08:12:19 CET 2013/amd64 I
 run into a mess and can not figure out what happens.

 Suddenly, after upgrading, buildworld etc., dbus fails to start so X11
 is without mouse.

 Trying to rebuild the port dbus fails in a SIGNAL 13 while [do-extract].

 This is weird. I can not extract and rebuild ports anymore, every port I
 try to rebuild with portmaster fails with the very same fault:

 = SHA256 Checksum OK for dbus-1.4.14.tar.gz.
 *** [do-extract] Signal 13
 
 This is SIGPIPE, so maybe your tar is broken?  What happens if you
 manually extract that tar.gz file?


well, since I can't do portmaster on EVERY FreeBSD 10.0-CURRENT I have
around (three boxes, different types of hardware but  the same revision
of sources as from today - and buildworld/kernel of course) I guess this
is a major damage.

Is there a way how I can trace the make extract task in the port's
directory? I can manually untar each tarball, but while doing make
extract I always get this

===   dbus-1.4.14_4 depends on file: /usr/local/sbin/pkg - found
===  Extracting for dbus-1.4.14_4
= SHA256 Checksum OK for dbus-1.4.14.tar.gz.
*** [do-extract] Signal 13

(devel/dbus is an example, it happens to ALL ports).

Oliver
___
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


r247835: drm2 code breaks buildkernel

2013-03-05 Thread Hartmann, O.
On r247835 build kernel fails:

cc -O2 -pipe -O3 -pipe -march=native -O3 -march=native -pipe
-fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc
-DHAVE_KERNEL_OPTION_HEADERS -include
/usr/obj/usr/src/sys/GATE/opt_global.h -I. -I@ -I@/contrib/altq
-fno-common  -fno-omit-frame-pointer -I/usr/obj/usr/src/sys/GATE
-mno-aes -mno-avx -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse
-msoft-float  -fno-asynchronous-unwind-tables -ffreestanding
-fstack-protector -std=iso9899:1999 -Qunused-arguments -fstack-protector
-Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef
-Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs
-fdiagnostics-show-option  -Wno-error-tautological-compare
-Wno-error-empty-body  -Wno-error-parentheses-equality -c
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/drm_ioctl.c
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/drm_global.c:63:27:
error: unused variable 'item' [-Werror,-Wunused-variable]
struct drm_global_item *item = glob[i];
^
1 error generated.
*** [drm_global.o] Error code 1


Just for the record,

oh
___
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: r247835: drm2 code breaks buildkernel

2013-03-05 Thread Jean-Sébastien Pédron
On 05.03.2013 11:20, Hartmann, O. wrote:
 On r247835 build kernel fails:
 
 (...)
 /usr/src/sys/modules/drm2/drm2/../../../dev/drm2/drm_global.c:63:27:
 error: unused variable 'item' [-Werror,-Wunused-variable]
 struct drm_global_item *item = glob[i];

Could you try the patch below?

http://people.freebsd.org/~dumbbell/radeonkms/drm_global-unused-variable.a.patch

-- 
Jean-Sébastien Pédron



signature.asc
Description: OpenPGP digital signature


Re: r247835: drm2 code breaks buildkernel

2013-03-05 Thread Hartmann, O.
On 03/05/13 11:46, Jean-Sébastien Pédron wrote:
 On 05.03.2013 11:20, Hartmann, O. wrote:
 On r247835 build kernel fails:

 (...)
 /usr/src/sys/modules/drm2/drm2/../../../dev/drm2/drm_global.c:63:27:
 error: unused variable 'item' [-Werror,-Wunused-variable]
 struct drm_global_item *item = glob[i];
 
 Could you try the patch below?
 
 http://people.freebsd.org/~dumbbell/radeonkms/drm_global-unused-variable.a.patch
 




Got new sources, I'm at FreeBSD 10.0-CURRENT #1 r247839: Tue Mar  5
12:28:12 CET 2013/amd64 and the kernel builds normal again.

Thanks,

Oliver
___
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: r247835: drm2 code breaks buildkernel

2013-03-05 Thread Glen Barber
On Tue, Mar 05, 2013 at 12:59:50PM +0100, Hartmann, O. wrote:
  Could you try the patch below?
  
  http://people.freebsd.org/~dumbbell/radeonkms/drm_global-unused-variable.a.patch
  
 
 Got new sources, I'm at FreeBSD 10.0-CURRENT #1 r247839: Tue Mar  5
 12:28:12 CET 2013/amd64 and the kernel builds normal again.
 

I still see kernel build failure with and without the above patch.

Script started on Tue Mar  5 07:28:11 2013
root@nucleus:/usr/src # svnversion
247839
root@nucleus:/usr/src # time make -s -j4 KERNCONF=NUCLEUS buildkernel
--
 Kernel build for NUCLEUS started on Tue Mar  5 07:28:20 EST 2013
--
=== NUCLEUS
--
 stage 1: configuring the kernel
--
Kernel build directory is /usr/obj/usr/src/sys/NUCLEUS
Don't forget to do ``make cleandepend  make depend''
--
 stage 2.1: cleaning up the object tree
--
=== drm2/drm2 (cleandir)
=== drm2/i915kms (cleandir)
=== opensolaris (cleandir)
=== zfs (cleandir)
--
 stage 2.2: rebuilding the object tree
--
=== drm2/drm2 (obj)
=== drm2/i915kms (obj)
=== opensolaris (obj)
=== zfs (obj)
--
 stage 2.3: build tools
--
--
 stage 3.1: making dependencies
--
=== drm2/drm2 (depend)
=== drm2/i915kms (depend)
=== opensolaris (depend)
=== zfs (depend)
--
 stage 3.2: building everything
--
=== drm2/drm2 (all)
In file included from 
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_lock.c:42:
@/dev/drm2/ttm/ttm_lock.h:208: warning: redundant redeclaration of 
'ttm_write_unlock' [-Wredundant-decls]
@/dev/drm2/ttm/ttm_lock.h:134: warning: previous declaration of 
'ttm_write_unlock' was here
@/dev/drm2/ttm/ttm_lock.h:220: warning: redundant redeclaration of 
'ttm_write_lock' [-Wredundant-decls]
@/dev/drm2/ttm/ttm_lock.h:146: warning: previous declaration of 
'ttm_write_lock' was here
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_page_alloc.c:122: 
warning: declaration does not declare anything
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_page_alloc.c:123: 
warning: declaration does not declare anything
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_page_alloc.c: In 
function 'ttm_get_pool':
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_page_alloc.c:280: 
error: 'struct ttm_pool_manager' has no member named 'pools'
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_page_alloc.c: In 
function 'ttm_pool_get_num_unused_pages':
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_page_alloc.c:391: 
error: 'struct ttm_pool_manager' has no member named 'pools'
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_page_alloc.c: In 
function 'ttm_pool_mm_shrink':
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_page_alloc.c:413: 
error: 'struct ttm_pool_manager' has no member named 'pools'
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_page_alloc.c: In 
function 'ttm_page_alloc_init':
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_page_alloc.c:786: 
error: 'struct ttm_pool_manager' has no member named 'wc_pool'
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_page_alloc.c:787: 
error: 'struct ttm_pool_manager' has no member named 'uc_pool'
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_page_alloc.c:788: 
error: 'struct ttm_pool_manager' has no member named 'wc_pool_dma32'
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_page_alloc.c:790: 
error: 'struct ttm_pool_manager' has no member named 'uc_pool_dma32'
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_page_alloc.c: In 
function 'ttm_page_alloc_fini':
/usr/src/sys/modules/drm2/drm2/../../../dev/drm2/ttm/ttm_page_alloc.c:811: 
error: 'struct ttm_pool_manager' has no member named 'pools'
*** [ttm_page_alloc.o] Error code 1
1 error
*** [all] Error code 2
1 error
*** [modules-all] Error code 2
1 error
*** [buildkernel] Error code 2
1 error
*** [buildkernel] Error code 2
1 error
22.434u 9.092s 0:22.11 142.5%   6476+1023k 109+98423io 6pf+0w
root@nucleus:/usr/src # ^D

Script done on Tue Mar  5 07:28:47 2013

Glen



pgpEW4aZZWVjx.pgp
Description: PGP signature


Re: r247835: drm2 code breaks buildkernel

2013-03-05 Thread Jean-Sébastien Pédron
On 05.03.2013 13:30, Glen Barber wrote:
 dev/drm2/ttm/ttm_lock.h:208: warning: redundant redeclaration of 
 'ttm_write_unlock' [-Wredundant-decls]
 dev/drm2/ttm/ttm_lock.h:134: warning: previous declaration of 
 'ttm_write_unlock' was here
 dev/drm2/ttm/ttm_lock.h:220: warning: redundant redeclaration of 
 'ttm_write_lock' [-Wredundant-decls]
 dev/drm2/ttm/ttm_lock.h:146: warning: previous declaration of 
 'ttm_write_lock' was here

Those redundant declarations weren't spotted by clang.

Konstantin, would you like me to commit the fix for this? And we need to
upstream it too.

 dev/drm2/ttm/ttm_page_alloc.c:122: warning: declaration does not declare 
 anything
 dev/drm2/ttm/ttm_page_alloc.c:123: warning: declaration does not declare 
 anything

These errors and the following are caused by unnamed structs and unions
inside another struct:

struct ttm_pool_manager {
...

union {
struct ttm_page_poolpools[NUM_POOLS];
struct {
...
} ;
};
};

With default options, clang accepts this but apparently, not gcc.

I would like an opinion from the toolchain gurus, because I don't know
what's the proper way to fix this one.

J.R. Oldroyd CC'd, because he started to work on radeonkms backport to 9
and faced exactly those issues.

-- 
Jean-Sébastien Pédron



signature.asc
Description: OpenPGP digital signature


Re: r247835: drm2 code breaks buildkernel

2013-03-05 Thread J.R. Oldroyd
On Tue, 05 Mar 2013 15:13:12 +0100 Jean-Sébastien Pédron dumbb...@freebsd.org 
wrote:

 On 05.03.2013 13:30, Glen Barber wrote:
  dev/drm2/ttm/ttm_lock.h:208: warning: redundant redeclaration of 
  'ttm_write_unlock' [-Wredundant-decls]
  dev/drm2/ttm/ttm_lock.h:134: warning: previous declaration of 
  'ttm_write_unlock' was here
  dev/drm2/ttm/ttm_lock.h:220: warning: redundant redeclaration of 
  'ttm_write_lock' [-Wredundant-decls]
  dev/drm2/ttm/ttm_lock.h:146: warning: previous declaration of 
  'ttm_write_lock' was here
 
 Those redundant declarations weren't spotted by clang.
 
 Konstantin, would you like me to commit the fix for this? And we need to
 upstream it too.
 
A fix for these is in my big get it to compile patch that I emailed
you both the other day.

  dev/drm2/ttm/ttm_page_alloc.c:122: warning: declaration does not declare 
  anything
  dev/drm2/ttm/ttm_page_alloc.c:123: warning: declaration does not declare 
  anything
 
 These errors and the following are caused by unnamed structs and unions
 inside another struct:
 
 struct ttm_pool_manager {
 ...
 
 union {
 struct ttm_page_poolpools[NUM_POOLS];
 struct {
 ...
 } ;
 };
 };
 
 With default options, clang accepts this but apparently, not gcc.

Experimentation shows that this warning is triggered because we use
-std=iso9899:1999.  It can be turned off again by adding --ms-extensions
too.

Alternatively, my big patch replaces all these anon unions with
named ones.  There are lots of these in this code, though.  Doing
this adds lots of patch bloat.

 I would like an opinion from the toolchain gurus, because I don't know
 what's the proper way to fix this one.
 
 J.R. Oldroyd CC'd, because he started to work on radeonkms backport to 9
 and faced exactly those issues.
 
There is a further problem not mentioned here.  Three of the files
make use of a pointer to a volatile int but later cast this to a
(void *).  Because we also have -Wcast-qual, this cast triggers
cast discards qualifier on pointer target type warnings and because
of -Werror, this then aborts.  What's the best way to fix that?

-jr


signature.asc
Description: PGP signature


drm GPU hung, resume no longer working

2013-03-05 Thread Glen Barber
Hi,

I am running:

  FreeBSD nucleus 10.0-CURRENT FreeBSD 10.0-CURRENT #87 r247546: Fri Mar
  1 13:15:42 EST 2013 root@nucleus:/usr/obj/usr/src/sys/NUCLEUS  amd64

Sometime very recently, resume has stopped working.  I can ssh to the
machine when it resumes, and I do see my background image on resume, but
once the screen goes into locked mode (xscreensaver), I cannot get back
to a working state without reboot.


syslog reports:
  Mar  5 09:21:33 nucleus kernel: error: [drm:pid12:i915_hangcheck_elapsed] 
*ERROR* Hangcheck timer elapsed... GPU hung
  Mar  5 09:21:33 nucleus kernel: info: [drm] capturing error event; look for 
more information in sysctl hw.dri.0.info.i915_error_state

dmesg says:
  uhub2: 2 ports with 2 removable, self powered
  ugen0.2: vendor 0x8087 at usbus0
  uhub3: vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2 on 
usbus0
  ugen2.2: vendor 0x8087 at usbus2
  uhub4: vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2 on 
usbus2
  uhub3: 6 ports with 6 removable, self powered
  uhub4: 6 ports with 6 removable, self powered
  ugen0.3: Azurewave at usbus0
  error: [drm:pid12:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... 
GPU hung
  info: [drm] capturing error event; look for more information in sysctl 
hw.dri.0.info.i915_error_state

hw.dri.0.info.i915_error_state output is at:

http://people.freebsd.org/~gjb/i915.sysctl.txt

Any thoughts on how to debug this further?

Thanks.

Glen



pgpbCPnZr6QdJ.pgp
Description: PGP signature


Re: r247835: drm2 code breaks buildkernel

2013-03-05 Thread Jean-Sébastien Pédron
On 05.03.2013 15:54, J.R. Oldroyd wrote:
 A fix for these is in my big get it to compile patch that I emailed
 you both the other day.

Sorry, I didn't take the time to read it yet :-/

 dev/drm2/ttm/ttm_page_alloc.c:122: warning: declaration does not declare 
 anything
 dev/drm2/ttm/ttm_page_alloc.c:123: warning: declaration does not declare 
 anything

 Experimentation shows that this warning is triggered because we use
 -std=iso9899:1999.  It can be turned off again by adding --ms-extensions
 too.
 
 Alternatively, my big patch replaces all these anon unions with
 named ones.  There are lots of these in this code, though.  Doing
 this adds lots of patch bloat.

Yes, the flag is preferable. I didn't have the time to test it earlier
either, until now. I confirm that it works with both clang and gcc.

 There is a further problem not mentioned here.  Three of the files
 make use of a pointer to a volatile int but later cast this to a
 (void *).  Because we also have -Wcast-qual, this cast triggers
 cast discards qualifier on pointer target type warnings and because
 of -Werror, this then aborts.  What's the best way to fix that?

Those warnings are in the radeon driver, not ttm, aren't they? At least,
the build finishes properly on my computer with gcc and clang with just
-fms-extensions.

-- 
Jean-Sébastien Pédron



signature.asc
Description: OpenPGP digital signature


Re: drm GPU hung, resume no longer working

2013-03-05 Thread Jean-Sébastien Pédron
On 05.03.2013 16:07, Glen Barber wrote:
   error: [drm:pid12:i915_hangcheck_elapsed] *ERROR* Hangcheck timer 
 elapsed... GPU hung
   info: [drm] capturing error event; look for more information in sysctl 
 hw.dri.0.info.i915_error_state
 
 hw.dri.0.info.i915_error_state output is at:
 
 http://people.freebsd.org/~gjb/i915.sysctl.txt

It won't help much, but rpaulo@ posted a mail with a similar dmesg but
different trigger on freebsd-x11@:
http://lists.freebsd.org/pipermail/freebsd-x11/2013-March/012862.html

-- 
Jean-Sébastien Pédron



signature.asc
Description: OpenPGP digital signature


Re: r247835: drm2 code breaks buildkernel

2013-03-05 Thread Konstantin Belousov
On Tue, Mar 05, 2013 at 03:13:12PM +0100, Jean-S?bastien P?dron wrote:
 On 05.03.2013 13:30, Glen Barber wrote:
  dev/drm2/ttm/ttm_lock.h:208: warning: redundant redeclaration of 
  'ttm_write_unlock' [-Wredundant-decls]
  dev/drm2/ttm/ttm_lock.h:134: warning: previous declaration of 
  'ttm_write_unlock' was here
  dev/drm2/ttm/ttm_lock.h:220: warning: redundant redeclaration of 
  'ttm_write_lock' [-Wredundant-decls]
  dev/drm2/ttm/ttm_lock.h:146: warning: previous declaration of 
  'ttm_write_lock' was here
 
 Those redundant declarations weren't spotted by clang.
 
 Konstantin, would you like me to commit the fix for this? And we need to
 upstream it too.
I am somewhat sceptical about upstreaming. I reported a real bug in the
ttm_lock with the trivial fix when I read the code for porting. Bug was
confirmed by Linux people, but no action was taken.

 
  dev/drm2/ttm/ttm_page_alloc.c:122: warning: declaration does not declare 
  anything
  dev/drm2/ttm/ttm_page_alloc.c:123: warning: declaration does not declare 
  anything
 
 These errors and the following are caused by unnamed structs and unions
 inside another struct:
 
 struct ttm_pool_manager {
 ...
 
 union {
 struct ttm_page_poolpools[NUM_POOLS];
 struct {
 ...
 } ;
 };
 };
 
 With default options, clang accepts this but apparently, not gcc.
 
 I would like an opinion from the toolchain gurus, because I don't know
 what's the proper way to fix this one.
 
 J.R. Oldroyd CC'd, because he started to work on radeonkms backport to 9
 and faced exactly those issues.

The patch below is supposed to fix double declaration (it is pathetic that
clang silently accepts this, while issuing countless useless warnings).
Also there is a usual workaround for the anonimous union/struct issue.

Glen neglected to even mention that he used gcc (is it true ?), as well
as to show the command line invocation of the compiler. Hopefully the
patch helps.

diff --git a/sys/dev/drm2/ttm/ttm_lock.h b/sys/dev/drm2/ttm/ttm_lock.h
index ac8159e..6d45457 100644
--- a/sys/dev/drm2/ttm/ttm_lock.h
+++ b/sys/dev/drm2/ttm/ttm_lock.h
@@ -125,27 +125,6 @@ extern int ttm_read_lock(struct ttm_lock *lock, bool 
interruptible);
 extern int ttm_read_trylock(struct ttm_lock *lock, bool interruptible);
 
 /**
- * ttm_write_unlock
- *
- * @lock: Pointer to a struct ttm_lock
- *
- * Releases a write lock.
- */
-extern void ttm_write_unlock(struct ttm_lock *lock);
-
-/**
- * ttm_write_lock
- *
- * @lock: Pointer to a struct ttm_lock
- * @interruptible: Interruptible sleeping while waiting for a lock.
- *
- * Takes the lock in write mode.
- * Returns:
- * -ERESTARTSYS If interrupted by a signal and interruptible is true.
- */
-extern int ttm_write_lock(struct ttm_lock *lock, bool interruptible);
-
-/**
  * ttm_lock_downgrade
  *
  * @lock: Pointer to a struct ttm_lock
diff --git a/sys/dev/drm2/ttm/ttm_page_alloc.c 
b/sys/dev/drm2/ttm/ttm_page_alloc.c
index ffc8483..9a30a46 100644
--- a/sys/dev/drm2/ttm/ttm_page_alloc.c
+++ b/sys/dev/drm2/ttm/ttm_page_alloc.c
@@ -113,16 +113,22 @@ struct ttm_pool_manager {
struct ttm_pool_optsoptions;
 
union {
-   struct ttm_page_poolpools[NUM_POOLS];
-   struct {
-   struct ttm_page_poolwc_pool;
-   struct ttm_page_pooluc_pool;
-   struct ttm_page_poolwc_pool_dma32;
-   struct ttm_page_pooluc_pool_dma32;
-   } ;
-   };
+   struct ttm_page_poolu_pools[NUM_POOLS];
+   struct _utag {
+   struct ttm_page_poolu_wc_pool;
+   struct ttm_page_poolu_uc_pool;
+   struct ttm_page_poolu_wc_pool_dma32;
+   struct ttm_page_poolu_uc_pool_dma32;
+   } _ut;
+   } _u;
 };
 
+#definepools _u.u_pools
+#definewc_pool _u._ut.u_wc_pool
+#defineuc_pool _u._ut.u_uc_pool
+#definewc_pool_dma32 _u._ut.u_wc_pool_dma32
+#defineuc_pool_dma32 _u._ut.u_uc_pool_dma32
+
 MALLOC_DEFINE(M_TTM_POOLMGR, ttm_poolmgr, TTM Pool Manager);
 
 static void


pgpOksjQgbMmY.pgp
Description: PGP signature


Re: r247835: drm2 code breaks buildkernel

2013-03-05 Thread Glen Barber
On Tue, Mar 05, 2013 at 05:37:36PM +0200, Konstantin Belousov wrote:
 Glen neglected to even mention that he used gcc (is it true ?), as well
 as to show the command line invocation of the compiler. Hopefully the
 patch helps.

Yes, I am using gcc.  I'll try your patch and report back.

Glen



pgpkzfwha0Hcr.pgp
Description: PGP signature


Re: r247835: drm2 code breaks buildkernel

2013-03-05 Thread Glen Barber
On Tue, Mar 05, 2013 at 10:48:31AM -0500, Glen Barber wrote:
 On Tue, Mar 05, 2013 at 05:37:36PM +0200, Konstantin Belousov wrote:
  Glen neglected to even mention that he used gcc (is it true ?), as well
  as to show the command line invocation of the compiler. Hopefully the
  patch helps.
 
 Yes, I am using gcc.  I'll try your patch and report back.
 

This patch does fix the build for me.

Glen



pgp_YQSt6ijvd.pgp
Description: PGP signature


Re: access to hard drives is blocked by writes to a flash drive

2013-03-05 Thread Ian Lepore
On Mon, 2013-03-04 at 21:27 -0800, Don Lewis wrote:
 On  4 Mar, Ian Lepore wrote:
  On Sun, 2013-03-03 at 19:01 -0800, Don Lewis wrote:
  On  3 Mar, Poul-Henning Kamp wrote:
  
   For various reasons (see: Lemming-syncer) FreeBSD will block all I/O
   traffic to other disks too, when these pileups gets too bad.
  
  The Lemming-syncer problem should have mostly been fixed by 231160 in
  head (231952 in stable/9 and 231967 in stable/8) a little over a year
  ago. The exceptions are atime updates, mmaped files with dirty pages,
  and quotas. Under certain workloads I still notice periodic bursts of
  seek noise. After thinking about it for a bit, I suspect that it could
  be atime updates, but I haven't tried to confirm that.
  
  When using TCQ or NCQ, perhaps we should limit the number of outstanding
  writes per device to leave some slots open for reads.  We should
  probably also prioritize reads over writes unless we are under memory
  pressure.
   
  
  Then either those changes didn't have the intended effect, or the
  problem we're seeing with lack of system responsiveness when there's a
  large backlog of writes to a slow device is not the lemming-syncer
  problem.  It's also not a lack of TCQ/NCQ slots, given that no such
  thing exists with SD card IO.
  
  When this is going on, the process driving the massive output spends
  almost all its time in a wdrain wait, and if you try to launch an app
  that isn't already in cache, a siginfo generally shows it to be in a
  getblk wait.
 
 If your only drive is a single SD card, then you're pretty much hosed
 when I/O is blocked because the SD card is doing an erase.  It can only
 handle one command at a time, and if a write blocks, there's nothing
 that we can do to get it to execute a read until it is done with the
 write command that it is hung up on.  I'm not familiar with the lower
 layers, but things might be less bad if read ops can jump ahead and get
 sent to the drive before any queued writes.
 

Yes, but an erase-block operation on a nand flash takes on the order of
500uS, not 8-10 seconds, which is the kind of interactive
non-responsiveness you experience in these situations.  The very nature
of SD cards is one operation at a time, so no internal operation
queueing is in play to explain the long (apparent) hangs.

I've debated playing with the bio work loop in mmcsd to see if moving
reads ahead of writes was helpful, but that seems like a dangerous path
to go down without some mitigation strategy to ensure that writes go
through eventually.  That seems especially important when you consider
that writes may be necessary to free up memory to un-wedge other things
that are waiting.  (Yeah, people don't often use sd cards as swap
storage, but I've done so in a pinch.)  All in all, I've never pursued
it because it feels like the wrong layer to address the problem at.

-- 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: r247835: drm2 code breaks buildkernel

2013-03-05 Thread Konstantin Belousov
On Tue, Mar 05, 2013 at 10:54:29AM -0500, Glen Barber wrote:
 On Tue, Mar 05, 2013 at 10:48:31AM -0500, Glen Barber wrote:
  On Tue, Mar 05, 2013 at 05:37:36PM +0200, Konstantin Belousov wrote:
   Glen neglected to even mention that he used gcc (is it true ?), as well
   as to show the command line invocation of the compiler. Hopefully the
   patch helps.
  
  Yes, I am using gcc.  I'll try your patch and report back.
  
 
 This patch does fix the build for me.

Thank you.


pgpWHR3l_KlQF.pgp
Description: PGP signature


Re: access to hard drives is blocked by writes to a flash drive

2013-03-05 Thread Ian Lepore
On Mon, 2013-03-04 at 21:33 -0800, Don Lewis wrote:
 On  4 Mar, Ian Lepore wrote:
  On Sun, 2013-03-03 at 20:28 +, Steven Hartland wrote:
  - Original Message - 
  From: Ian Lepore i...@freebsd.org
  To: Poul-Henning Kamp p...@phk.freebsd.dk
  Cc: deeptech71 deeptec...@gmail.com; freebsd-current@FreeBSD.org; 
  Peter Jeremy pe...@rulingia.com
  Sent: Sunday, March 03, 2013 1:54 PM
  Subject: Re: access to hard drives is blocked by writes to a flash drive
  
  
   On Sun, 2013-03-03 at 13:35 +, Poul-Henning Kamp wrote:
   Content-Type: text/plain; charset=ISO-8859-1
   
   In message 1362317291.1195.216.ca...@revolution.hippie.lan, Ian 
   Lepore writes
   :
   
   I run into this behavior all the time too, mostly on arm systems that
   have an sd card or usb thumb driver as their main/only drive.
   
   This is really a FAQ and I belive I have answered it N times already:
   
   There are, broadly speaking, two classes of flash-storage: 
   Camera-grade
   and the real thing.
   
   Camera-grade have a very limited Flash adaptation layer which 
   typically
   only can hold one flash-block open for writing at a time, and is 
   typically
   found in CF and SD cards, USB sticks etc.
   
   Some of them gets further upset if the filesystem is not the FAT they
   expect, because they implement M-Systems (patented) trick with 
   monitoring
   block deletes in FAT to simulate a TRIM facility.
   
   A number of products exist with such designs, typically a CF-style, is
   put behind a SATA-PATA bridge and sold as 2.5 SSD SATA devices.
   Transcend have done this for instance.
   
   If you use this class of devices for anything real, gstat will show
   you I/O write-times of several seconds in periodic pile-ups, even
   100 seconds if you are doing something heavy.
   
   For various reasons (see: Lemming-syncer) FreeBSD will block all I/O
   traffic to other disks too, when these pileups gets too bad.
   
   Hmmm, so the problem has been known and unfixed for 10 years.  That's
   not encouraging.  One of the messages in the lemming-syncer mail thread
   might explain why I've been seeing this a lot lately in hobbyist work,
   but not so much at $work where we use sd cards heavily... we use very
   short syncer timeouts on SD and CF storage at $work:
   
   kern.metadelay: 3
   kern.dirdelay: 4
   kern.filedelay: 5
   
   I might play with similar settings on some of my arm boards here.
  
  Interesting, are these relevant for all filesystems e.g. ZFS?
  
  Regards
  Steve
  
  I'm not sure, I know almost nothing about zfs.  I do know we used those
  tunings for a specific reason and I sure wouldn't recommend them for
  general use.  There's a comment block at the top of kern/vfs_subr.c with
  some information on those delay values and how they're used that you
  might find useful.  I think in general such small numbers on a system
  doing lots of IO would be counter-productive.
  
  In our case we arrived at those tunings this way...  We have embedded
  systems with CF and SD cards as their only mass storage, and we do a
  relatively small amount of writing to the cards (occasional config
  changes, low-volume routine logging via syslog, not much else).
  Occasionally when newsyslog kicks in there'll be a short burst of IO to
  compress and rotate, then back to a trickle again.  Once upon a time we
  mounted the filesystem without softupdates and with the sync option.
  That was fairly robust against users pulling the plug right after making
  a config change, but very very slow during syslog rotation, sometimes to
  the point of peturbing our apps (the CF cards run in PIO mode, and a
  burst of PIO activity is hard on time-critical apps).
  
  So we switched using softupdates and turned off the sync option.  That
  was nicer to our apps, but left a long window during which updates
  didn't get flushed to the card.  So we lowered those 3 tuning values to
  the lowest numbers supported by the code (as I vaguely remember it, this
  was years ago), not to get any sort of change in performance, but to
  reduce the window during which data just sat around in memory waiting
  for potential further updates before being flushed.  The further updates
  would never happen for us, so the long delays had no benefit.
 
 This tuning could potentially increase the amount of I/O that actually
 occurs.  The only advantage would be that large files that are
 sequentially written would be flushed to disk more frequently but in
 smaller amounts.
 

I don't think so, in our case.  The mechanism that would trigger more IO
would be the lack of opportunity to elide multiple rewrites of the same
blocks that occur within the delay windows, and that situation just
doesn't come up in any significant way in our products.

We write to the card on the order of once every 10-180 seconds, usually
1 or 2 blocks updated, like appending a few lines to /var/log/messages
or saving a 900 byte config file.  About 

Re: r247835: drm2 code breaks buildkernel

2013-03-05 Thread Jean-Sébastien Pédron
On 05.03.2013 16:37, Konstantin Belousov wrote:
 The patch below is supposed to fix double declaration (it is pathetic that
 clang silently accepts this, while issuing countless useless warnings).
 Also there is a usual workaround for the anonimous union/struct issue.

What do you think about -fms-extensions? It avoids modifications to
the code and works with both gcc and clang.

There're several unnamed structs/unions in the radeon code too. I would
like to keep the diff with Linux code as small as possible.

-- 
Jean-Sébastien Pédron



signature.asc
Description: OpenPGP digital signature


Re: r247835: drm2 code breaks buildkernel

2013-03-05 Thread Konstantin Belousov
On Tue, Mar 05, 2013 at 05:40:34PM +0100, Jean-S?bastien P?dron wrote:
 On 05.03.2013 16:37, Konstantin Belousov wrote:
  The patch below is supposed to fix double declaration (it is pathetic that
  clang silently accepts this, while issuing countless useless warnings).
  Also there is a usual workaround for the anonimous union/struct issue.
 
 What do you think about -fms-extensions? It avoids modifications to
 the code and works with both gcc and clang.
Since TTM code needs a lot of modifications anyway, I do not mind to
make one more local change. I already did it, please see r247849.
This is IMO better then getting more unhandled warnings.

 
 There're several unnamed structs/unions in the radeon code too. I would
 like to keep the diff with Linux code as small as possible.

It is your call. I am only looking after the TTM right now.


pgpx5sIWhpDus.pgp
Description: PGP signature


r247839: broken pipe - for top, sudo and ports

2013-03-05 Thread Hartmann, O.
On recent FreeBSD 10.0-CURRENT/amd64 (CLANG buildworld, serveral systems
(3) the same symptoms)), many services drop a sporadic

broken pipe

This happesn to system's top (I have to type it several times to get
finally a top), it happens to sudo su -, it happens to SSH (drops
connection with broken pipe) and as I reported earlier, it seems to
affect the entire port system, since I can not build any port, I receive

*** [do-extract] Signal 13

This is dramatic for me, because several modules (rtc, linux_adobe ...)
can not be recompiled as it is required by the last /usr/src/UPDATING
entry 20130304.

Since dbus fails to start and even the nVidia driver (which is a kernel
module, it canot be built and therefore ... ).

Dimitry, I put you into CC, just in case. It seems that the last commits
(not only the new DRM2 mess) broke something.

I hope that others using FreeBSD 10.0CURRENT with CLANG can confirm this.

Regards,

Oliver

On 03/05/13 10:33, Dimitry Andric wrote:
 On 2013-03-05 10:16, Hartmann, O. wrote:
 On FreeBSD 10.0-CURRENT #3 r247829: Tue Mar  5 08:12:19 CET 2013/amd64 I
 run into a mess and can not figure out what happens.

 Suddenly, after upgrading, buildworld etc., dbus fails to start so X11
 is without mouse.

 Trying to rebuild the port dbus fails in a SIGNAL 13 while [do-extract].

 This is weird. I can not extract and rebuild ports anymore, every port I
 try to rebuild with portmaster fails with the very same fault:

 = SHA256 Checksum OK for dbus-1.4.14.tar.gz.
 *** [do-extract] Signal 13
 
 This is SIGPIPE, so maybe your tar is broken?  What happens if you
 manually extract that tar.gz file?

___
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: r247839: broken pipe - for top, sudo and ports

2013-03-05 Thread Hartmann, O.
On 03/05/13 20:35, Hartmann, O. wrote:
 On recent FreeBSD 10.0-CURRENT/amd64 (CLANG buildworld, serveral systems
 (3) the same symptoms)), many services drop a sporadic
 
 broken pipe
 
 This happesn to system's top (I have to type it several times to get
 finally a top), it happens to sudo su -, it happens to SSH (drops
 connection with broken pipe) and as I reported earlier, it seems to
 affect the entire port system, since I can not build any port, I receive
 
 *** [do-extract] Signal 13
 
 This is dramatic for me, because several modules (rtc, linux_adobe ...)
 can not be recompiled as it is required by the last /usr/src/UPDATING
 entry 20130304.
 
 Since dbus fails to start and even the nVidia driver (which is a kernel
 module, it canot be built and therefore ... ).
 
 Dimitry, I put you into CC, just in case. It seems that the last commits
 (not only the new DRM2 mess) broke something.
 
 I hope that others using FreeBSD 10.0CURRENT with CLANG can confirm this.
 
 Regards,
 
 Oliver
 
 On 03/05/13 10:33, Dimitry Andric wrote:
 On 2013-03-05 10:16, Hartmann, O. wrote:
 On FreeBSD 10.0-CURRENT #3 r247829: Tue Mar  5 08:12:19 CET 2013/amd64 I
 run into a mess and can not figure out what happens.

 Suddenly, after upgrading, buildworld etc., dbus fails to start so X11
 is without mouse.

 Trying to rebuild the port dbus fails in a SIGNAL 13 while [do-extract].

 This is weird. I can not extract and rebuild ports anymore, every port I
 try to rebuild with portmaster fails with the very same fault:

 = SHA256 Checksum OK for dbus-1.4.14.tar.gz.
 *** [do-extract] Signal 13

 This is SIGPIPE, so maybe your tar is broken?  What happens if you
 manually extract that tar.gz file?


A truss top reveals this, is this of help?

[...]
stat(/etc/nsswitch.conf,{ mode=-rw-r--r--
,inode=162310,size=1007,blksize=32768 }) = 0 (0x0)
stat(/etc/nsswitch.conf,{ mode=-rw-r--r--
,inode=162310,size=1007,blksize=32768 }) = 0 (0x0)
stat(/etc/nsswitch.conf,{ mode=-rw-r--r--
,inode=162310,size=1007,blksize=32768 }) = 0 (0x0)
stat(/etc/nsswitch.conf,{ mode=-rw-r--r--
,inode=162310,size=1007,blksize=32768 }) = 0 (0x0)
stat(/etc/nsswitch.conf,{ mode=-rw-r--r--
,inode=162310,size=1007,blksize=32768 }) = 0 (0x0)
socket(PF_LOCAL,SOCK_STREAM,0)   = 4 (0x4)
connect(4,{ AF_UNIX /var/run/nscd },15)= 0 (0x0)
fcntl(4,F_SETFL,O_NONBLOCK)  = 0 (0x0)
kqueue(0x80183b000,0x80122fc58,0x10,0x80062b308,0x80183b010,0x2) = 5 (0x5)
kevent(5,{0x4,EVFILT_WRITE,EV_ADD,0,0x0,0x0},1,0x0,0,0x0) = 0 (0x0)
kqueue(0x5,0x7fffd2e0,0x1,0x0,0x0,0x0)   = 6 (0x6)
kevent(6,{0x4,EVFILT_READ,EV_ADD,0,0x0,0x0},1,0x0,0,0x0) = 0 (0x0)
kevent(5,{0x4,EVFILT_WRITE,EV_ADD,1,0x4,0x0},1,0x0,0,0x0) = 0 (0x0)
kevent(5,0x0,0,{0x4,EVFILT_WRITE,EV_EOF,0,0x2000,0x0},1,0x0) = 1 (0x1)
sendmsg(0x4,0x7fffd290,0x0,0x1,0x1,0x0)  ERR#32 'Broken pipe'
SIGNAL 13 (SIGPIPE)
process exit, rval = 0

___
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: Airport card is not recognized on i386

2013-03-05 Thread Adrian Chadd
You need to provide much more information than that.

Like, starting with what kind of airport card it is, what the PCI ID is, etc.



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


Kernel panic on FreeBSD 10.0-CURRENT amd64

2013-03-05 Thread Adam Kirchhoff
I have recently installed 9.1 and attempted to upgrade to 10.0-CURRENT
yesterday (largely in an effort to test the new radeon DRM code).
Unfortunately, upon rebooting, I am left at kernel debugger prompt:

cd0 at ata0 bus 0 scbus0 target 1 lun 0
cd0: TSSTcorp CD-ROM  TS-H192C DE00 Removable CD-ROM SCSI-0 device
cd0: 33.300MB/s transfers (UDMA2, ATAPI 12bytes, PIO 65534bytes)
cd0: Attempt to query device size failed: NOT READY, Medium not
present - tray closed
panic: g_read_data(): invalid length 0
cpuid = 0
KDB: enter: panic
[ thread pid 13 tid 100014 ]
Stopped at  kdb_enter+0x3e: movq$0,kdb_why
db bt
Tracing pid 13 tid 100014 td 0xfe0002957490
kdb_enter() at kdb_enter+0x3e/frame 0xff800026a960
vpanic() at vpanic+0x147/frame 0xff800026a9a0
kassert_panic() at kassert_panic+0x136/frame 0xff800026aa10
g_read_data() at g_read_data+0x45/frame 0xff800026aa50
g_label_ntfs_taste() at g_label_ntfs_taste+0xde/frame 0xff800026aa90
g_label_taste() at g_label_taste+0x37b/frame 0xff800026ab60
g_new_provider_event() at g_new_provider_event+0xda/frame 0xff800026ab80
g_run_events() at g_run_events+0x167/frame 0xff800026abb0
fork_exit() at fork_exit+0x84/frame 0xff800026abf0
fork_trampoline() at fork_trampoline+0xe/frame 0xff800026abf0
--- trap 0, rip = 0, rsp = 0xff800026acb0, rbp = 0 ---

I'm no expert, but it appears to be  related to the NTFS partition I
have on a separate hard drive.

Any ideas what the problem might be or how to debug this further?

Adam
___
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: Kernel panic on FreeBSD 10.0-CURRENT amd64

2013-03-05 Thread Ryan Stone
On Tue, Mar 5, 2013 at 8:03 PM, Adam Kirchhoff
adam.k.kirchh...@gmail.comwrote:

 I have recently installed 9.1 and attempted to upgrade to 10.0-CURRENT
 yesterday (largely in an effort to test the new radeon DRM code).
 Unfortunately, upon rebooting, I am left at kernel debugger prompt:

 cd0 at ata0 bus 0 scbus0 target 1 lun 0
 cd0: TSSTcorp CD-ROM  TS-H192C DE00 Removable CD-ROM SCSI-0 device
 cd0: 33.300MB/s transfers (UDMA2, ATAPI 12bytes, PIO 65534bytes)
 cd0: Attempt to query device size failed: NOT READY, Medium not
 present - tray closed
 panic: g_read_data(): invalid length 0
 cpuid = 0
 KDB: enter: panic
 [ thread pid 13 tid 100014 ]
 Stopped at  kdb_enter+0x3e: movq$0,kdb_why
 db bt
 Tracing pid 13 tid 100014 td 0xfe0002957490
 kdb_enter() at kdb_enter+0x3e/frame 0xff800026a960
 vpanic() at vpanic+0x147/frame 0xff800026a9a0
 kassert_panic() at kassert_panic+0x136/frame 0xff800026aa10
 g_read_data() at g_read_data+0x45/frame 0xff800026aa50
 g_label_ntfs_taste() at g_label_ntfs_taste+0xde/frame 0xff800026aa90
 g_label_taste() at g_label_taste+0x37b/frame 0xff800026ab60
 g_new_provider_event() at g_new_provider_event+0xda/frame
 0xff800026ab80
 g_run_events() at g_run_events+0x167/frame 0xff800026abb0
 fork_exit() at fork_exit+0x84/frame 0xff800026abf0
 fork_trampoline() at fork_trampoline+0xe/frame 0xff800026abf0
 --- trap 0, rip = 0, rsp = 0xff800026acb0, rbp = 0 ---

 I'm no expert, but it appears to be  related to the NTFS partition I
 have on a separate hard drive.

 Any ideas what the problem might be or how to debug this further?

 Adam
 ___
 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


This sounds like something that was just fixed today.  Do you have r247837?

http://svnweb.freebsd.org/changeset/base/247837
___
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: access to hard drives is blocked by writes to a flash drive

2013-03-05 Thread Don Lewis
On  5 Mar, Ian Lepore wrote:

 I've debated playing with the bio work loop in mmcsd to see if moving
 reads ahead of writes was helpful, but that seems like a dangerous path
 to go down without some mitigation strategy to ensure that writes go
 through eventually.  That seems especially important when you consider
 that writes may be necessary to free up memory to un-wedge other things
 that are waiting.  (Yeah, people don't often use sd cards as swap
 storage, but I've done so in a pinch.)  All in all, I've never pursued
 it because it feels like the wrong layer to address the problem at.

I was initially concerned about the memory starvation problem, but I
don't think it's an issue.  If memory is unavailable, then the upper
layer won't be able to allocate the buffer memory for the read requests
and will block before sending any more read commands down to the driver.

I think that large numbers of reads causing write starvation are also
unlikely.  A single thread can generate a large backlog of writes
(unless the filesystem is mounted in sync mode), but it generally can't
queue up a lot of reads because the thread is likely to block every time
it issues a read request until it gets the data back from the drive.  If
you are still worried about this, you could maintain separate read and
write queues and alternate between them if both are nonempty.

___
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: access to hard drives is blocked by writes to a flash drive

2013-03-05 Thread Alfred Perlstein

On 3/5/13 9:37 PM, Don Lewis wrote:

On  5 Mar, Ian Lepore wrote:


I've debated playing with the bio work loop in mmcsd to see if moving
reads ahead of writes was helpful, but that seems like a dangerous path
to go down without some mitigation strategy to ensure that writes go
through eventually.  That seems especially important when you consider
that writes may be necessary to free up memory to un-wedge other things
that are waiting.  (Yeah, people don't often use sd cards as swap
storage, but I've done so in a pinch.)  All in all, I've never pursued
it because it feels like the wrong layer to address the problem at.

I was initially concerned about the memory starvation problem, but I
don't think it's an issue.  If memory is unavailable, then the upper
layer won't be able to allocate the buffer memory for the read requests
and will block before sending any more read commands down to the driver.

I think that large numbers of reads causing write starvation are also
unlikely.  A single thread can generate a large backlog of writes
(unless the filesystem is mounted in sync mode), but it generally can't
queue up a lot of reads because the thread is likely to block every time
it issues a read request until it gets the data back from the drive.  If
you are still worried about this, you could maintain separate read and
write queues and alternate between them if both are nonempty.




What if we ran reads and writes over the loopback via TCP to get some 
kind of windowing?  :)


I am only half kidding... it would make sense to look to TCP to allow 
for some kind of window of IO based on throughput to the device.


-Alfred
___
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: access to hard drives is blocked by writes to a flash drive

2013-03-05 Thread Poul-Henning Kamp
Content-Type: text/plain; charset=ISO-8859-1

In message 1362500313.1291.20.ca...@revolution.hippie.lan, Ian Lepore writes:

I don't think so, in our case.

Have you seriously considered using msdosfs ?

The cards flash-adaption-layer may work a LOT better if you do...

-- 
Poul-Henning Kamp   | UNIX since Zilog Zeus 3.20
p...@freebsd.org | TCP/IP since RFC 956
FreeBSD committer   | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
___
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