Re: 10.0-CUR r226986 ports (general)

2011-11-03 Thread Matthias Apitz
El día Wednesday, November 02, 2011 a las 08:36:07PM +0100, Matthias Apitz 
escribió:

 
 Hello,
 
 I fetched 10-CUR from SVN as r226986 and /usr/ports from CVS on November
 1st;
 
 The ports/audio/jack seems installing fine, but the shared lib
 libjack.so is missing below ports/audio/jack/work and /usr/local/lib; it
 is mentioned in the list -L of the package; later ports/audio/arts and
 ports/x11/kde3 are missing the shared lib;

It turns out that the problem is more general! A lot of ./configure
scripts are detecting in 10-CUR that they can't or should not build
shared libs; the problem is that the OS is detected now as

host_os: freebsd10.0

and the ./configure scripts have tests like this:

ports/audio/jack/work/jack-audio-connection-kit-0.121.3:

case $host_os in
...
freebsd1*)
  dynamic_linker=no
;;
...

And now? I'm cluesless now how we could solve this :-(

matthias

-- 
Matthias Apitz
t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211
e g...@unixarea.de - w http://www.unixarea.de/
UNIX since V7 on PDP-11, UNIX on mainframe since ESER 1055 (IBM /370)
UNIX on x86 since SVR4.2 UnixWare 2.1.2, FreeBSD since 2.2.5
___
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: 10.0-CUR r226986 ports (general)

2011-11-03 Thread Chris Rees
On 3 Nov 2011 06:11, Matthias Apitz g...@unixarea.de wrote:

 El día Wednesday, November 02, 2011 a las 08:36:07PM +0100, Matthias
Apitz escribió:

 
  Hello,
 
  I fetched 10-CUR from SVN as r226986 and /usr/ports from CVS on November
  1st;
 
  The ports/audio/jack seems installing fine, but the shared lib
  libjack.so is missing below ports/audio/jack/work and /usr/local/lib; it
  is mentioned in the list -L of the package; later ports/audio/arts and
  ports/x11/kde3 are missing the shared lib;

 It turns out that the problem is more general! A lot of ./configure
 scripts are detecting in 10-CUR that they can't or should not build
 shared libs; the problem is that the OS is detected now as

 host_os: freebsd10.0

 and the ./configure scripts have tests like this:

 ports/audio/jack/work/jack-audio-connection-kit-0.121.3:

 case $host_os in
 ...
 freebsd1*)
  dynamic_linker=no
;;
 ...

 And now? I'm cluesless now how we could solve this :-(


Searching the archives of both these lists would help you ;)

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: request: merging if_ath_tx branch to HEAD

2011-11-03 Thread Adrian Chadd
On 31 October 2011 20:15, Doug Barton do...@freebsd.org wrote:

 In any case, I do want to merge the ath 11n stuff into -9, so even if
 it's not done by 9.0, it'll be done shortly after.

 Given that RC1 is already out, you should probably check with re@ first.

I'll poke them tomorrow, but since others have merged in driver
changes and other stuff into -HEAD, I wouldn't be the first person to
merge in bigger things.




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


[RFC] Fix OF_finddevice return code for FDT

2011-11-03 Thread Jayachandran C.
[I had posted this to freebsd-ppc@ and freebsd-arm@, did not see any
comments, posting to freebsd-current@ to see if there is any interest
or comments]

While reviewing the previous FDT patch, nwhitehorn@ noted that the
return code of OF_finddevice was not correct in case of FDT. According
to the 1275 standard, we should return a phandle value of -1 in case
of error, but the ofw_fdt_finddevice implementation now returns 0.

The attached patches fixes this in the FDT code, and makes changes in
the callers to check the return code correctly. Since most of the
callers are in ARM, any testing on ARM would be really appreciated.

Thanks,
JC.


fdt-finddevice-fix.patch
Description: Binary data


arm-fixes.patch
Description: Binary data


ppc-fixes.patch
Description: Binary data
___
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: USB3 express card panics on 9.0-RC1

2011-11-03 Thread Hans Petter Selasky
On Wednesday 02 November 2011 16:22:20 Jan Henrik Sylvester wrote:
 I have bought a Super-speed Express Card To USB 3.0 1-Port to connect
 an USB3 hard disk to my Thinkpad T510, which only has USB2.
 
 Trying to hot plug the express card did nothing, but I guess that is
 expected. Hence, I booted with the express card already inserted, only
 to receive a panic upon xhci0 initialization, see below.
 
 This is on FreeBSD 9.0-RC1/amd64 with a generic kernel installed from
 the official DVD.
 
 I guess I could test 226803 mentioned in
 http://lists.freebsd.org/pipermail/freebsd-usb/2011-October/010746.html
 , which happened after RC1, but from the commit message, it only fixes
 suspend and resume.
 
 As I do not have much time now, should I test 226803, find a Linux CD to
 actually identify the device, or anything else?
 
 Cheers,
 Jan Henrik
 
 
 usbus0: 480 Mbps High Speed USB v2.0
 
 Fatal trap 12: page fault while in kernel mode
 cpuid = 0; apic id = 00
 fault virtual address   = 0x18
 fault code  = supervisor write data, page not present
 instruction ponter  = 0x20:0x806e80aa
 stack pointer   = 0x28:0xff810ee50bc0
 frame pointer   = 0x28:0xff810ee50bf0
 code segment= base 0x0, limit 0xf, type 0x16
  = DPL 0, pres 1, long 1, def32 0, gran 1
 processor eflags= interrupt enabled, resume, IOPL = 0
 current process = 15 (xhci0)
 trap number = 12
 panic: page fault
 cpuid = 0
 Uptime = 1s
 Automatic reboot in 15 seconds - press a key on the console to abort

Hi,

This looks like a NULL-pointer issue inside xhci_configure_msg() which 
probably should be easy to fix.

Could you compile and boot a kernel with kernel debugging enable so that you 
get a backgtrace?

--HPS
___
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: 10.0-CUR r226986 ports (general)

2011-11-03 Thread Edward Tomasz Napierała
Wiadomość napisana przez Matthias Apitz w dniu 3 lis 2011, o godz. 07:10:
 El día Wednesday, November 02, 2011 a las 08:36:07PM +0100, Matthias Apitz 
 escribió:
 Hello,
 
 I fetched 10-CUR from SVN as r226986 and /usr/ports from CVS on November
 1st;
 
 The ports/audio/jack seems installing fine, but the shared lib
 libjack.so is missing below ports/audio/jack/work and /usr/local/lib; it
 is mentioned in the list -L of the package; later ports/audio/arts and
 ports/x11/kde3 are missing the shared lib;
 
 It turns out that the problem is more general! A lot of ./configure
 scripts are detecting in 10-CUR that they can't or should not build
 shared libs; the problem is that the OS is detected now as

As a temporary workaround, add WITH_FBSD10_FIX=1 to /etc/make.conf.

-- 
If you cut off my head, what would I say?  Me and my head, or me and my body?

___
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: 10.0-CUR r226986 ports (general)

2011-11-03 Thread Matthias Apitz
El día Thursday, November 03, 2011 a las 12:13:31PM +0100, Edward Tomasz 
Napierała escribió:

  It turns out that the problem is more general! A lot of ./configure
  scripts are detecting in 10-CUR that they can't or should not build
  shared libs; the problem is that the OS is detected now as
 
 As a temporary workaround, add WITH_FBSD10_FIX=1 to /etc/make.conf.

ports/UPDATING and some of the mails in the archive of -current
recommend setting UNAME_r=9.0-CURRENT; is this the same or which method
is prefered?

Thanks

matthias
-- 
Matthias Apitz
e g...@unixarea.de - w http://www.unixarea.de/
UNIX since V7 on PDP-11, UNIX on mainframe since ESER 1055 (IBM /370)
UNIX on x86 since SVR4.2 UnixWare 2.1.2, FreeBSD since 2.2.5
___
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: 10.0-CUR r226986 ports (general)

2011-11-03 Thread Alexander Best
On Thu Nov  3 11, Matthias Apitz wrote:
 El día Wednesday, November 02, 2011 a las 08:36:07PM +0100, Matthias Apitz 
 escribió:
 
  
  Hello,
  
  I fetched 10-CUR from SVN as r226986 and /usr/ports from CVS on November
  1st;
  
  The ports/audio/jack seems installing fine, but the shared lib
  libjack.so is missing below ports/audio/jack/work and /usr/local/lib; it
  is mentioned in the list -L of the package; later ports/audio/arts and
  ports/x11/kde3 are missing the shared lib;
 
 It turns out that the problem is more general! A lot of ./configure
 scripts are detecting in 10-CUR that they can't or should not build
 shared libs; the problem is that the OS is detected now as
 
 host_os: freebsd10.0
 
 and the ./configure scripts have tests like this:
 
 ports/audio/jack/work/jack-audio-connection-kit-0.121.3:
 
 case $host_os in
 ...
 freebsd1*)
   dynamic_linker=no
 ;;
 ...
 
 And now? I'm cluesless now how we could solve this :-(

are you sure this issue is related to the freebsd1* case?

uname -a
FreeBSD otaku 9.9-CURRENT FreeBSD 9.9-CURRENT #9: Thu Nov  3 11:41:08 CET 2011  
   arundel@otaku:/usr/obj/usr/git-freebsd-head/sys/ARUNDEL  amd64

i did a 'cd /usr/ports/security/p11-kit ; make ; make install', yet from the
following list:

otaku% pkg_info -L p11-kit-0.8
Information for p11-kit-0.8:

Files:
/usr/local/bin/p11-kit
/usr/local/include/p11-kit-1/p11-kit/p11-kit.h
/usr/local/include/p11-kit-1/p11-kit/pin.h
/usr/local/include/p11-kit-1/p11-kit/uri.h
/usr/local/include/p11-kit-1/p11-kit/pkcs11.h
/usr/local/lib/libp11-kit.a
/usr/local/lib/libp11-kit.la
/usr/local/lib/libp11-kit.so
/usr/local/lib/libp11-kit.so.0
/usr/local/lib/p11-kit-proxy.so
/usr/local/libdata/pkgconfig/p11-kit-1.pc
/usr/local/share/gtk-doc/html/p11-kit/api-index-full.html
/usr/local/share/gtk-doc/html/p11-kit/config-example.html
/usr/local/share/gtk-doc/html/p11-kit/config-format.html
/usr/local/share/gtk-doc/html/p11-kit/config-global.html
/usr/local/share/gtk-doc/html/p11-kit/config-locations.html
/usr/local/share/gtk-doc/html/p11-kit/config-module.html
/usr/local/share/gtk-doc/html/p11-kit/config.html
/usr/local/share/gtk-doc/html/p11-kit/gtk-doc.css
/usr/local/share/gtk-doc/html/p11-kit/home.png
/usr/local/share/gtk-doc/html/p11-kit/index.html
/usr/local/share/gtk-doc/html/p11-kit/index.sgml
/usr/local/share/gtk-doc/html/p11-kit/left.png
/usr/local/share/gtk-doc/html/p11-kit/p11-kit-Future.html
/usr/local/share/gtk-doc/html/p11-kit/p11-kit-Modules.html
/usr/local/share/gtk-doc/html/p11-kit/p11-kit-PIN-Callbacks.html
/usr/local/share/gtk-doc/html/p11-kit/p11-kit-URIs.html
/usr/local/share/gtk-doc/html/p11-kit/p11-kit-Utilities.html
/usr/local/share/gtk-doc/html/p11-kit/p11-kit.devhelp2
/usr/local/share/gtk-doc/html/p11-kit/up.png
/usr/local/share/gtk-doc/html/p11-kit/reference.html
/usr/local/share/gtk-doc/html/p11-kit/right.png
/usr/local/share/gtk-doc/html/p11-kit/sharing-initialize.html
/usr/local/share/gtk-doc/html/p11-kit/sharing-module.html
/usr/local/share/gtk-doc/html/p11-kit/sharing.html
/usr/local/share/gtk-doc/html/p11-kit/style.css
/usr/local/share/examples/p11-kit/pkcs11.conf.example

all *.so* files didn't get installed!

cheers.
alex

 
   matthias
 
 -- 
 Matthias Apitz
 t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211
 e g...@unixarea.de - w http://www.unixarea.de/
 UNIX since V7 on PDP-11, UNIX on mainframe since ESER 1055 (IBM /370)
 UNIX on x86 since SVR4.2 UnixWare 2.1.2, FreeBSD since 2.2.5
___
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: USB3 express card panics on 9.0-RC1

2011-11-03 Thread Jan Henrik Sylvester

On 11/03/2011 09:27, Hans Petter Selasky wrote:

On Wednesday 02 November 2011 16:22:20 Jan Henrik Sylvester wrote:

I have bought a Super-speed Express Card To USB 3.0 1-Port to connect
an USB3 hard disk to my Thinkpad T510, which only has USB2.

Trying to hot plug the express card did nothing, but I guess that is
expected. Hence, I booted with the express card already inserted, only
to receive a panic upon xhci0 initialization, see below.

This is on FreeBSD 9.0-RC1/amd64 with a generic kernel installed from
the official DVD.

I guess I could test 226803 mentioned in
http://lists.freebsd.org/pipermail/freebsd-usb/2011-October/010746.html
, which happened after RC1, but from the commit message, it only fixes
suspend and resume.

As I do not have much time now, should I test 226803, find a Linux CD to
actually identify the device, or anything else?

Cheers,
Jan Henrik


usbus0: 480 Mbps High Speed USB v2.0

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x18
fault code  = supervisor write data, page not present
instruction ponter  = 0x20:0x806e80aa
stack pointer   = 0x28:0xff810ee50bc0
frame pointer   = 0x28:0xff810ee50bf0
code segment= base 0x0, limit 0xf, type 0x16
  = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags= interrupt enabled, resume, IOPL = 0
current process = 15 (xhci0)
trap number = 12
panic: page fault
cpuid = 0
Uptime = 1s
Automatic reboot in 15 seconds - press a key on the console to abort


Hi,

This looks like a NULL-pointer issue inside xhci_configure_msg() which
probably should be easy to fix.

Could you compile and boot a kernel with kernel debugging enable so that you
get a backgtrace?


I have not done this before.

The GENERIC kernel already contains makeoptions DEBUG=-g (at least it 
is in /usr/src/sys/amd64/conf/GENERIC and there are all this large 
/boot/kernel/*.symbols). Is there anything else needed? (I do not need 
all the stuff that Ken Smith took out just before RC1 in r226405 just to 
get a trace, since I do not want to do online debugging, or do I need it 
anyhow?)


From 
http://www.freebsd.org/doc/en/books/developers-handbook/kerneldebug.html 
, I thought that setting dumpdev=AUTO in /etc/rc.conf was enough to 
get a dump in /var/crash/ after the next boot to multiuser. That does 
not seem to be the case for me. What else do I have to do?


Cheers,
Jan Henrik
___
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: 10.0-CUR r226986 ports (general)

2011-11-03 Thread Edward Tomasz Napierała
Wiadomość napisana przez Matthias Apitz w dniu 3 lis 2011, o godz. 12:26:
 El día Thursday, November 03, 2011 a las 12:13:31PM +0100, Edward Tomasz 
 Napierała escribió:
 
 It turns out that the problem is more general! A lot of ./configure
 scripts are detecting in 10-CUR that they can't or should not build
 shared libs; the problem is that the OS is detected now as
 
 As a temporary workaround, add WITH_FBSD10_FIX=1 to /etc/make.conf.
 
 ports/UPDATING and some of the mails in the archive of -current
 recommend setting UNAME_r=9.0-CURRENT; is this the same or which method
 is prefered?

No, I guess UPDATING is right.  It's just that I never remember to read
it when encountering problems after an update, and the above method
works for me.

-- 
If you cut off my head, what would I say?  Me and my head, or me and my body?

___
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: gmirror failed with error 19.

2011-11-03 Thread Sascha Klauder
On Tue, 2011-11-01 11:23 +0400, Andrey V. Elsukov wrote:
 On 28.10.2011 13:48, Sascha Klauder wrote:
   GEOM_MIRROR: Device mirror/gm0 launched (2/2).
   GEOM_PART: partition 1 has end offset beyond last LBA: 490350671  
  490350670
   GEOM_PART: integrity check failed (mirror/gm0, MBR)
 This is the main problem. Your MBR' slice is bigger than actual space
 you have. The only way to fix this - recreate slice.

 I've partioned and labeled the disk with sysinstall(8) from
8.2-RELEASE media.  Does 9.0 use different disk geometry cal-
culation than 8.2 or is usage of gmirror the culprit?  Both
8.2 and 9.0 kernels report the disk having 490350672 sectors.

 You can break your mirror, recreate the slice (NOTE: you must preserve
 one sector for the gmirror's meta-data), then copy your data to the
 newly created slice, then reboot from the new slice and recreate mirror.

 I think I'd rather reinstall 9.0 from scratch, getting rid
of MBR/disklabel as well.

Cheers,
-sascha
___
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: 10.0-CUR r226986 ports (general)

2011-11-03 Thread Matthias Apitz
El día Thursday, November 03, 2011 a las 11:28:47AM +, Alexander Best 
escribió:

  It turns out that the problem is more general! A lot of ./configure
  scripts are detecting in 10-CUR that they can't or should not build
  shared libs; the problem is that the OS is detected now as
  
  host_os: freebsd10.0
  
  and the ./configure scripts have tests like this:
  
  ports/audio/jack/work/jack-audio-connection-kit-0.121.3:
  
  case $host_os in
  ...
  freebsd1*)
dynamic_linker=no
  ;;
  ...
  
  And now? I'm cluesless now how we could solve this :-(
 
 are you sure this issue is related to the freebsd1* case?

I can only comment what I saw:

- OS was detected as freebsd10.0 (I inserted a 'echo $host_os' into the
  ./configure script

- ./configure said that it should/will not build shared libs

- the *.so* were missing in ports/audio/jack/work/... and in
  /usr/local/lib

I will remove all /usr/ports/* and /usr/local/* and /var/db/pkg/* and
will start from scratch with cvs checkout and will set UNAME_r as
explained in ports/UPDATING;

will let you know the result

matthias

-- 
Matthias Apitz
e g...@unixarea.de - w http://www.unixarea.de/
UNIX since V7 on PDP-11, UNIX on mainframe since ESER 1055 (IBM /370)
UNIX on x86 since SVR4.2 UnixWare 2.1.2, FreeBSD since 2.2.5
___
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: USB3 express card panics on 9.0-RC1

2011-11-03 Thread Jan Henrik Sylvester

On 11/03/2011 11:51, Jan Henrik Sylvester wrote:

On 11/03/2011 09:27, Hans Petter Selasky wrote:

On Wednesday 02 November 2011 16:22:20 Jan Henrik Sylvester wrote:

I have bought a Super-speed Express Card To USB 3.0 1-Port to connect
an USB3 hard disk to my Thinkpad T510, which only has USB2.

Trying to hot plug the express card did nothing, but I guess that is
expected. Hence, I booted with the express card already inserted, only
to receive a panic upon xhci0 initialization, see below.

This is on FreeBSD 9.0-RC1/amd64 with a generic kernel installed from
the official DVD.

I guess I could test 226803 mentioned in
http://lists.freebsd.org/pipermail/freebsd-usb/2011-October/010746.html
, which happened after RC1, but from the commit message, it only fixes
suspend and resume.

As I do not have much time now, should I test 226803, find a Linux CD to
actually identify the device, or anything else?

Cheers,
Jan Henrik


usbus0: 480 Mbps High Speed USB v2.0

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0x18
fault code = supervisor write data, page not present
instruction ponter = 0x20:0x806e80aa
stack pointer = 0x28:0xff810ee50bc0
frame pointer = 0x28:0xff810ee50bf0
code segment = base 0x0, limit 0xf, type 0x16
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 15 (xhci0)
trap number = 12
panic: page fault
cpuid = 0
Uptime = 1s
Automatic reboot in 15 seconds - press a key on the console to abort


Hi,

This looks like a NULL-pointer issue inside xhci_configure_msg() which
probably should be easy to fix.

Could you compile and boot a kernel with kernel debugging enable so
that you
get a backgtrace?


I have not done this before.

The GENERIC kernel already contains makeoptions DEBUG=-g (at least it
is in /usr/src/sys/amd64/conf/GENERIC and there are all this large
/boot/kernel/*.symbols). Is there anything else needed? (I do not need
all the stuff that Ken Smith took out just before RC1 in r226405 just to
get a trace, since I do not want to do online debugging, or do I need it
anyhow?)

 From
http://www.freebsd.org/doc/en/books/developers-handbook/kerneldebug.html
, I thought that setting dumpdev=AUTO in /etc/rc.conf was enough to
get a dump in /var/crash/ after the next boot to multiuser. That does
not seem to be the case for me. What else do I have to do?


After reading a bit more, I still do not know why I do not get a crash 
dump with dumpdev=AUTO (and /var/crash/ having enough space for a full 
memory dump). Is it too early during boot for dumpon to be set?


After reading http://www.unixguide.net/freebsd/faq/18.13.shtml , I found 
that 806e8040 t usb_process is the last symbol before 
instruction pointer = 0x20:0x806e80aa. Does this help?


Cheers,
Jan Henrik
___
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: panic at vm_page_wire with FreeBSD 9.0 Beta 3

2011-11-03 Thread Kostik Belousov
On Thu, Nov 03, 2011 at 12:40:08AM -0500, Alan Cox wrote:
 On 11/02/2011 05:32, Andriy Gapon wrote:
 [restored cc: to the original poster]
 As Bruce Evans has pointed to me privately [I am not sure why privately], 
 there
 is already an example in i386 and amd64 atomic.h, where operations are 
 inlined
 for a kernel build, but presented as real (external) functions for a module
 build.  You can search e.g. sys/amd64/include/atomic.h for KLD_MODULE.
 
 I think that the same treatment could/should be applied to vm_page_*lock*
 operations defined in sys/vm/vm_page.h.
 *snip*
 
 Yes, it should be.  There are without question legitimate reasons for a 
 module to acquire a page lock.

I agree. Also, I think that we should use the opportunity to also isolate
the modules from the struct vm_page layout changes. As example, I converted
nfsclient.ko.

Patch is not tested.

diff --git a/sys/nfsclient/nfs_bio.c b/sys/nfsclient/nfs_bio.c
index 305c189..7264cd1 100644
--- a/sys/nfsclient/nfs_bio.c
+++ b/sys/nfsclient/nfs_bio.c
@@ -128,7 +128,7 @@ nfs_getpages(struct vop_getpages_args *ap)
 * can only occur at the file EOF.
 */
VM_OBJECT_LOCK(object);
-   if (pages[ap-a_reqpage]-valid != 0) {
+   if (vm_page_read_valid(pages[ap-a_reqpage]) != 0) {
for (i = 0; i  npages; ++i) {
if (i != ap-a_reqpage) {
vm_page_lock(pages[i]);
@@ -198,16 +198,16 @@ nfs_getpages(struct vop_getpages_args *ap)
/*
 * Read operation filled an entire page
 */
-   m-valid = VM_PAGE_BITS_ALL;
-   KASSERT(m-dirty == 0,
+   vm_page_write_valid(m, VM_PAGE_BITS_ALL);
+   KASSERT(vm_page_read_dirty(m) == 0,
(nfs_getpages: page %p is dirty, m));
} else if (size  toff) {
/*
 * Read operation filled a partial page.
 */
-   m-valid = 0;
+   vm_page_write_valid(m, 0);
vm_page_set_valid(m, 0, size - toff);
-   KASSERT(m-dirty == 0,
+   KASSERT(vm_page_read_dirty(m) == 0,
(nfs_getpages: page %p is dirty, m));
} else {
/*
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index f14da4a..5b8b4e3 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -2677,6 +2677,66 @@ vm_page_test_dirty(vm_page_t m)
vm_page_dirty(m);
 }
 
+void
+vm_page_lock_func(vm_page_t m, const char *file, int line)
+{
+
+#if LOCK_DEBUG  0 || defined(MUTEX_NOINLINE)
+   _mtx_lock_flags(vm_page_lockptr(m), 0, file, line);
+#else
+   __mtx_lock(vm_page_lockptr(m), 0, file, line);
+#endif
+}
+
+void
+vm_page_unlock_func(vm_page_t m, const char *file, int line)
+{
+
+#if LOCK_DEBUG  0 || defined(MUTEX_NOINLINE)
+   _mtx_unlock_flags(vm_page_lockptr(m), 0, file, line);
+#else
+   __mtx_unlock(vm_page_lockptr(m), curthread, 0, file, line);
+#endif
+}
+
+int
+vm_page_trylock_func(vm_page_t m, const char *file, int line)
+{
+
+   return (_mtx_trylock(vm_page_lockptr(m), 0, file, line));
+}
+
+void
+vm_page_lock_assert_func(vm_page_t m, int a, const char *file, int line)
+{
+
+#ifdef INVARIANTS
+   _mtx_assert(vm_page_lockptr(m), a, file, line);
+#endif
+}
+
+vm_page_bits_t
+vm_page_read_dirty_func(vm_page_t m)
+{
+
+   return (m-dirty);
+}
+
+vm_page_bits_t
+vm_page_read_valid_func(vm_page_t m)
+{
+
+   return (m-valid);
+}
+
+void
+vm_page_write_valid_func(vm_page_t m, vm_page_bits_t v)
+{
+
+   m-valid = v;
+}
+
+
 int so_zerocp_fullpage = 0;
 
 /*
diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h
index 23637bb..618ba2b 100644
--- a/sys/vm/vm_page.h
+++ b/sys/vm/vm_page.h
@@ -113,6 +113,21 @@
 
 TAILQ_HEAD(pglist, vm_page);
 
+#if PAGE_SIZE == 4096
+#define VM_PAGE_BITS_ALL 0xffu
+typedef uint8_t vm_page_bits_t;
+#elif PAGE_SIZE == 8192
+#define VM_PAGE_BITS_ALL 0xu
+typedef uint16_t vm_page_bits_t;
+#elif PAGE_SIZE == 16384
+#define VM_PAGE_BITS_ALL 0xu
+typedef uint32_t vm_page_bits_t;
+#elif PAGE_SIZE == 32768
+#define VM_PAGE_BITS_ALL 0xlu
+typedef uint64_t vm_page_bits_t;
+#endif
+
+
 struct vm_page {
TAILQ_ENTRY(vm_page) pageq; /* queue info for FIFO queue or free 
list (Q) */
TAILQ_ENTRY(vm_page) listq; /* pages in same object (O) */
@@ -138,19 +153,8 @@ struct vm_page {
/* NOTE that these must support one bit per DEV_BSIZE in a page!!! */
/* so, on normal X86 kernels, they must be at least 8 bits wide */
/* In reality, support for 32KB pages is not fully implemented. */
-#if PAGE_SIZE == 4096
-   uint8_t valid;  /* map of valid DEV_BSIZE chunks (O) */
-   uint8_t dirty;  /* map of dirty 

Re: 10.0-CUR r226986 ports (general)

2011-11-03 Thread Alexander Best
On Thu Nov  3 11, Matthias Apitz wrote:
 El día Thursday, November 03, 2011 a las 11:28:47AM +, Alexander Best 
 escribió:
 
   It turns out that the problem is more general! A lot of ./configure
   scripts are detecting in 10-CUR that they can't or should not build
   shared libs; the problem is that the OS is detected now as
   
   host_os: freebsd10.0
   
   and the ./configure scripts have tests like this:

here's my config.log after building and installing security/p11-kit. i have
edited my newvers.sh according to UPDATING and uname -a now properly reports:

FreeBSD otaku 9.9-CURRENT FreeBSD 9.9-CURRENT #9: Thu Nov  3 11:41:08 CET 2011  
   arundel@otaku:/usr/obj/usr/git-freebsd-head/sys/ARUNDEL  amd64

still for me the issue remains: no libs get built and thus not installed!

cheers.
alex

   
   ports/audio/jack/work/jack-audio-connection-kit-0.121.3:
   
   case $host_os in
   ...
   freebsd1*)
 dynamic_linker=no
   ;;
   ...
   
   And now? I'm cluesless now how we could solve this :-(
  
  are you sure this issue is related to the freebsd1* case?
 
 I can only comment what I saw:
 
 - OS was detected as freebsd10.0 (I inserted a 'echo $host_os' into the
   ./configure script
 
 - ./configure said that it should/will not build shared libs
 
 - the *.so* were missing in ports/audio/jack/work/... and in
   /usr/local/lib
 
 I will remove all /usr/ports/* and /usr/local/* and /var/db/pkg/* and
 will start from scratch with cvs checkout and will set UNAME_r as
 explained in ports/UPDATING;
 
 will let you know the result
 
   matthias
 
 -- 
 Matthias Apitz
 e g...@unixarea.de - w http://www.unixarea.de/
 UNIX since V7 on PDP-11, UNIX on mainframe since ESER 1055 (IBM /370)
 UNIX on x86 since SVR4.2 UnixWare 2.1.2, FreeBSD since 2.2.5
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by p11-kit configure 0.8, which was
generated by GNU Autoconf 2.68.  Invocation command line was

  $ ./configure --disable-gtk-doc --disable-nls --prefix=/usr/local 
--mandir=/usr/local/man --infodir=/usr/local/info/ 
--build=amd64-portbld-freebsd9.9

## - ##
## Platform. ##
## - ##

hostname = otaku
uname -m = amd64
uname -r = 9.9-CURRENT
uname -s = FreeBSD
uname -v = FreeBSD 9.9-CURRENT #9: Thu Nov  3 11:41:08 CET 2011 
arundel@otaku:/usr/obj/usr/git-freebsd-head/sys/ARUNDEL 

/usr/bin/uname -p = amd64
/bin/uname -X = unknown

/bin/arch  = unknown
/usr/bin/arch -k   = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo  = unknown
/bin/machine   = unknown
/usr/bin/oslevel   = unknown
/bin/universe  = unknown

PATH: /sbin
PATH: /bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/local/diablo-jre1.6.0/bin


## --- ##
## Core tests. ##
## --- ##

configure:2406: checking for a BSD-compatible install
configure:2474: result: /usr/bin/install -c -o root -g wheel
configure:2485: checking whether build environment is sane
configure:2535: result: yes
configure:2676: checking for a thread-safe mkdir -p
configure:2715: result: ./install-sh -c -d
configure:2728: checking for gawk
configure:2758: result: no
configure:2728: checking for mawk
configure:2758: result: no
configure:2728: checking for nawk
configure:2744: found /usr/bin/nawk
configure:2755: result: nawk
configure:2766: checking whether make sets $(MAKE)
configure:2788: result: yes
configure:2868: checking whether build environment is sane
configure:2918: result: yes
configure:2921: checking whether to disable maintainer-specific portions of 
Makefiles
configure:2930: result: yes
configure:2986: checking build system type
configure:3000: result: amd64-portbld-freebsd9.9
configure:3020: checking host system type
configure:3033: result: amd64-portbld-freebsd9.9
configure:3074: checking how to print strings
configure:3101: result: printf
configure:3134: checking for style of include used by make
configure:3162: result: GNU
configure:3232: checking for gcc
configure:3259: result: cc
configure:3488: checking for C compiler version
configure:3497: cc --version 5
cc (GCC) 4.2.2 20070831 prerelease [FreeBSD]
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:3508: $? = 0
configure:3497: cc -v 5
Using built-in specs.
Target: amd64-undermydesk-freebsd
Configured with: FreeBSD/amd64 system compiler
Thread model: posix
gcc version 4.2.2 20070831 prerelease [FreeBSD]
configure:3508: $? = 0
configure:3497: cc -V 5
cc: '-V' option must have argument
configure:3508: $? = 1
configure:3497: cc -qversion 5
cc: unrecognized option '-qversion'
cc: No input files specified
configure:3508: $? = 1
configure:3528: checking whether the C compiler works
configure:3550: cc -O2 -pipe -frename-registers 

Re: request: merging if_ath_tx branch to HEAD

2011-11-03 Thread Arnaud Lacombe
Hi,

On Thu, Nov 3, 2011 at 3:44 AM, Adrian Chadd adr...@freebsd.org wrote:
 On 31 October 2011 20:15, Doug Barton do...@freebsd.org wrote:

 In any case, I do want to merge the ath 11n stuff into -9, so even if
 it's not done by 9.0, it'll be done shortly after.

 Given that RC1 is already out, you should probably check with re@ first.

 I'll poke them tomorrow, but since others have merged in driver
 changes and other stuff into -HEAD, I wouldn't be the first person to
 merge in bigger things.

Maybe not the place to ask, but why are you (ie. FreeBSD folks) unable
to unleash commit to `trunk' and let only required MFC go to
`stable/9' ?

 - Arnaud
___
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: request: merging if_ath_tx branch to HEAD

2011-11-03 Thread Adrian Chadd
On 3 November 2011 09:45, Arnaud Lacombe lacom...@gmail.com wrote:

 Maybe not the place to ask, but why are you (ie. FreeBSD folks) unable
 to unleash commit to `trunk' and let only required MFC go to
 `stable/9' ?

Hi,

We can. It's just that we're being nice to keep the diffs between
-HEAD and stable/9 low to keep things easier for release engineering.
But it's taking a while and I really want to push this 11n stuff into
-HEAD so I can continue active development in a way that users can
actively test it. :)



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: panic at vm_page_wire with FreeBSD 9.0 Beta 3

2011-11-03 Thread Alan Cox

On 11/03/2011 08:24, Kostik Belousov wrote:

On Thu, Nov 03, 2011 at 12:40:08AM -0500, Alan Cox wrote:

On 11/02/2011 05:32, Andriy Gapon wrote:

[restored cc: to the original poster]
As Bruce Evans has pointed to me privately [I am not sure why privately],
there
is already an example in i386 and amd64 atomic.h, where operations are
inlined
for a kernel build, but presented as real (external) functions for a module
build.  You can search e.g. sys/amd64/include/atomic.h for KLD_MODULE.

I think that the same treatment could/should be applied to vm_page_*lock*
operations defined in sys/vm/vm_page.h.

*snip*

Yes, it should be.  There are without question legitimate reasons for a
module to acquire a page lock.

I agree. Also, I think that we should use the opportunity to also isolate
the modules from the struct vm_page layout changes. As example, I converted
nfsclient.ko.



I would suggest introducing the vm_page_bits_t change first.  If, at the 
same time, you change the return type from the function vm_page_bits() 
to use vm_page_bits_t, then I believe it is straightforward to fix all 
of the places in vm_page.c that don't properly handle a 32 KB page size.


Alan


Patch is not tested.

diff --git a/sys/nfsclient/nfs_bio.c b/sys/nfsclient/nfs_bio.c
index 305c189..7264cd1 100644
--- a/sys/nfsclient/nfs_bio.c
+++ b/sys/nfsclient/nfs_bio.c
@@ -128,7 +128,7 @@ nfs_getpages(struct vop_getpages_args *ap)
 * can only occur at the file EOF.
 */
VM_OBJECT_LOCK(object);
-   if (pages[ap-a_reqpage]-valid != 0) {
+   if (vm_page_read_valid(pages[ap-a_reqpage]) != 0) {
for (i = 0; i  npages; ++i) {
if (i != ap-a_reqpage) {
vm_page_lock(pages[i]);
@@ -198,16 +198,16 @@ nfs_getpages(struct vop_getpages_args *ap)
/*
 * Read operation filled an entire page
 */
-   m-valid = VM_PAGE_BITS_ALL;
-   KASSERT(m-dirty == 0,
+   vm_page_write_valid(m, VM_PAGE_BITS_ALL);
+   KASSERT(vm_page_read_dirty(m) == 0,
(nfs_getpages: page %p is dirty, m));
} else if (size  toff) {
/*
 * Read operation filled a partial page.
 */
-   m-valid = 0;
+   vm_page_write_valid(m, 0);
vm_page_set_valid(m, 0, size - toff);
-   KASSERT(m-dirty == 0,
+   KASSERT(vm_page_read_dirty(m) == 0,
(nfs_getpages: page %p is dirty, m));
} else {
/*
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index f14da4a..5b8b4e3 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -2677,6 +2677,66 @@ vm_page_test_dirty(vm_page_t m)
vm_page_dirty(m);
  }

+void
+vm_page_lock_func(vm_page_t m, const char *file, int line)
+{
+
+#if LOCK_DEBUG  0 || defined(MUTEX_NOINLINE)
+   _mtx_lock_flags(vm_page_lockptr(m), 0, file, line);
+#else
+   __mtx_lock(vm_page_lockptr(m), 0, file, line);
+#endif
+}
+
+void
+vm_page_unlock_func(vm_page_t m, const char *file, int line)
+{
+
+#if LOCK_DEBUG  0 || defined(MUTEX_NOINLINE)
+   _mtx_unlock_flags(vm_page_lockptr(m), 0, file, line);
+#else
+   __mtx_unlock(vm_page_lockptr(m), curthread, 0, file, line);
+#endif
+}
+
+int
+vm_page_trylock_func(vm_page_t m, const char *file, int line)
+{
+
+   return (_mtx_trylock(vm_page_lockptr(m), 0, file, line));
+}
+
+void
+vm_page_lock_assert_func(vm_page_t m, int a, const char *file, int line)
+{
+
+#ifdef INVARIANTS
+   _mtx_assert(vm_page_lockptr(m), a, file, line);
+#endif
+}
+
+vm_page_bits_t
+vm_page_read_dirty_func(vm_page_t m)
+{
+
+   return (m-dirty);
+}
+
+vm_page_bits_t
+vm_page_read_valid_func(vm_page_t m)
+{
+
+   return (m-valid);
+}
+
+void
+vm_page_write_valid_func(vm_page_t m, vm_page_bits_t v)
+{
+
+   m-valid = v;
+}
+
+
  int so_zerocp_fullpage = 0;

  /*
diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h
index 23637bb..618ba2b 100644
--- a/sys/vm/vm_page.h
+++ b/sys/vm/vm_page.h
@@ -113,6 +113,21 @@

  TAILQ_HEAD(pglist, vm_page);

+#if PAGE_SIZE == 4096
+#define VM_PAGE_BITS_ALL 0xffu
+typedef uint8_t vm_page_bits_t;
+#elif PAGE_SIZE == 8192
+#define VM_PAGE_BITS_ALL 0xu
+typedef uint16_t vm_page_bits_t;
+#elif PAGE_SIZE == 16384
+#define VM_PAGE_BITS_ALL 0xu
+typedef uint32_t vm_page_bits_t;
+#elif PAGE_SIZE == 32768
+#define VM_PAGE_BITS_ALL 0xlu
+typedef uint64_t vm_page_bits_t;
+#endif
+
+
  struct vm_page {
TAILQ_ENTRY(vm_page) pageq; /* queue info for FIFO queue or free 
list (Q) */
TAILQ_ENTRY(vm_page) listq; /* pages in same object (O) */
@@ -138,19 +153,8 @@ struct vm_page {
/* NOTE that these must support one bit per 

Re: 10.0-CUR r226986 ports (general)

2011-11-03 Thread b. f.
   It turns out that the problem is more general! A lot of ./configure
   scripts are detecting in 10-CUR that they can't or should not build
   shared libs; the problem is that the OS is detected now as
 
  As a temporary workaround, add WITH_FBSD10_FIX=1 to /etc/make.conf.

 ports/UPDATING and some of the mails in the archive of -current
 recommend setting UNAME_r=9.0-CURRENT; is this the same or which method
 is prefered?

No, it is not the same.  You can either masquerade, by setting UNAME_r
and OSVERSION, or by editing the headers and scripts that define them;
or you can use WITH_FBSD10_FIX for ports that define HAS_CONFIGURE
(which is implied by USE_AUTOTOOLS and GNU_CONFIGURE).  Right now the
masquerading is probably safer, because there are some problems with
the fix that are still being resolved -- and a few ports that may fail
despite the fix.  But of course if you help to test without
masquerading, these problems will be resolved sooner.

b.
___
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: USB3 express card panics on 9.0-RC1

2011-11-03 Thread Hans Petter Selasky
On Thursday 03 November 2011 13:30:19 Jan Henrik Sylvester wrote:
 On 11/03/2011 11:51, Jan Henrik Sylvester wrote:
  On 11/03/2011 09:27, Hans Petter Selasky wrote:
  On Wednesday 02 November 2011 16:22:20 Jan Henrik Sylvester wrote:
  I have bought a Super-speed Express Card To USB 3.0 1-Port to connect
  an USB3 hard disk to my Thinkpad T510, which only has USB2.
  
  Trying to hot plug the express card did nothing, but I guess that is
  expected. Hence, I booted with the express card already inserted, only
  to receive a panic upon xhci0 initialization, see below.
  
  This is on FreeBSD 9.0-RC1/amd64 with a generic kernel installed from
  the official DVD.
  
  I guess I could test 226803 mentioned in
  http://lists.freebsd.org/pipermail/freebsd-usb/2011-October/010746.html
  , which happened after RC1, but from the commit message, it only fixes
  suspend and resume.
  
  As I do not have much time now, should I test 226803, find a Linux CD
  to actually identify the device, or anything else?
  
  Cheers,
  Jan Henrik
  
  
  usbus0: 480 Mbps High Speed USB v2.0
  
  Fatal trap 12: page fault while in kernel mode
  cpuid = 0; apic id = 00
  fault virtual address = 0x18
  fault code = supervisor write data, page not present
  instruction ponter = 0x20:0x806e80aa
  stack pointer = 0x28:0xff810ee50bc0
  frame pointer = 0x28:0xff810ee50bf0
  code segment = base 0x0, limit 0xf, type 0x16
  = DPL 0, pres 1, long 1, def32 0, gran 1
  processor eflags = interrupt enabled, resume, IOPL = 0
  current process = 15 (xhci0)
  trap number = 12
  panic: page fault
  cpuid = 0
  Uptime = 1s
  Automatic reboot in 15 seconds - press a key on the console to abort
  
  Hi,
  
  This looks like a NULL-pointer issue inside xhci_configure_msg() which
  probably should be easy to fix.
  
  Could you compile and boot a kernel with kernel debugging enable so
  that you
  get a backgtrace?
  
  I have not done this before.
  
  The GENERIC kernel already contains makeoptions DEBUG=-g (at least it
  is in /usr/src/sys/amd64/conf/GENERIC and there are all this large
  /boot/kernel/*.symbols). Is there anything else needed? (I do not need
  all the stuff that Ken Smith took out just before RC1 in r226405 just to
  get a trace, since I do not want to do online debugging, or do I need it
  anyhow?)
  
   From
  
  http://www.freebsd.org/doc/en/books/developers-handbook/kerneldebug.html
  , I thought that setting dumpdev=AUTO in /etc/rc.conf was enough to
  get a dump in /var/crash/ after the next boot to multiuser. That does
  not seem to be the case for me. What else do I have to do?
 
 After reading a bit more, I still do not know why I do not get a crash
 dump with dumpdev=AUTO (and /var/crash/ having enough space for a full
 memory dump). Is it too early during boot for dumpon to be set?
 
 After reading http://www.unixguide.net/freebsd/faq/18.13.shtml , I found
 that 806e8040 t usb_process is the last symbol before
 instruction pointer = 0x20:0x806e80aa. Does this help?

Try add:

options KDB # Enable kernel debugger support.
options DDB # Support DDB.

--HPS
___
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: USB3 express card panics on 9.0-RC1

2011-11-03 Thread Hans Petter Selasky
On Thursday 03 November 2011 19:42:30 Hans Petter Selasky wrote:
 On Thursday 03 November 2011 13:30:19 Jan Henrik Sylvester wrote:
  After reading http://www.unixguide.net/freebsd/faq/18.13.shtml , I found
  that 806e8040 t usb_process is the last symbol before
  instruction pointer = 0x20:0x806e80aa. Does this help?
 
 Try add:
 
 options KDB # Enable kernel debugger support.
 options DDB # Support DDB.
 

Hi,

Looks like it panics at:

mtx_lock(up-up_mtx);

In usb_process() which is created by the xhci0 instance.

I would really like to see a dump of up and up_mtx because I cannot see 
how this can happen.

Have you seen any USB errors in the dmesg up to the point of this panic?

--HPS
___
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: USB3 express card panics on 9.0-RC1

2011-11-03 Thread Hans Petter Selasky
On Thursday 03 November 2011 21:04:23 Hans Petter Selasky wrote:
 On Thursday 03 November 2011 19:42:30 Hans Petter Selasky wrote:
  On Thursday 03 November 2011 13:30:19 Jan Henrik Sylvester wrote:
   After reading http://www.unixguide.net/freebsd/faq/18.13.shtml , I
   found that 806e8040 t usb_process is the last symbol before
   instruction pointer = 0x20:0x806e80aa. Does this help?
  
  Try add:
  
  options KDB # Enable kernel debugger support.
  options DDB # Support DDB.
 
 Hi,
 
 Looks like it panics at:
 
 mtx_lock(up-up_mtx);
 
 In usb_process() which is created by the xhci0 instance.
 
 I would really like to see a dump of up and up_mtx because I cannot see
 how this can happen.
 
 Have you seen any USB errors in the dmesg up to the point of this panic?
 
 --HPS

Here is a snippet of assembly code:

806e808b:   48 8b 13mov(%rbx),%rdx
806e808e:   83 6a 0c 01 subl   $0x1,0xc(%rdx)
806e8092:   e8 19 4e 42 00  callq  80b0ceb0 
spinlock_exit
806e8097:   65 48 8b 34 25 00 00mov%gs:0x0,%rsi
806e809e:   00 00 
806e80a0:   49 8b 7c 24 40  mov0x40(%r12),%rdi
806e80a5:   b8 04 00 00 00  mov$0x4,%eax
806e80aa:   f0 48 0f b1 77 18   lock cmpxchg %rsi,0x18(%rdi)
^ fault line

806e80b0:   0f 94 c0sete   %al
806e80b3:   84 c0   test   %al,%al
806e80b5:   0f 84 5f 01 00 00   je 806e821a 
usb_process+0x1da
806e80bb:   4d 8d 6c 24 10  lea0x10(%r12),%r13
806e80c0:   4d 8d 74 24 20  lea0x20(%r12),%r14
806e80c5:   49 89 5c 24 38  mov%rbx,0x38(%r12)

--HPS
___
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: USB3 express card panics on 9.0-RC1

2011-11-03 Thread Hans Petter Selasky
On Thursday 03 November 2011 13:30:19 Jan Henrik Sylvester wrote:
 On 11/03/2011 11:51, Jan Henrik Sylvester wrote:
  On 11/03/2011 09:27, Hans Petter Selasky wrote:
  On Wednesday 02 November 2011 16:22:20 Jan Henrik Sylvester wrote:
  I have bought a Super-speed Express Card To USB 3.0 1-Port to connect
  an USB3 hard disk to my Thinkpad T510, which only has USB2.
  
  Trying to hot plug the express card did nothing, but I guess that is
  expected. Hence, I booted with the express card already inserted, only
  to receive a panic upon xhci0 initialization, see below.
  
  This is on FreeBSD 9.0-RC1/amd64 with a generic kernel installed from
  the official DVD.
  
  I guess I could test 226803 mentioned in
  http://lists.freebsd.org/pipermail/freebsd-usb/2011-October/010746.html
  , which happened after RC1, but from the commit message, it only fixes
  suspend and resume.
  
  As I do not have much time now, should I test 226803, find a Linux CD
  to actually identify the device, or anything else?
  
  Cheers,
  Jan Henrik
  
  
  usbus0: 480 Mbps High Speed USB v2.0
  
  Fatal trap 12: page fault while in kernel mode
  cpuid = 0; apic id = 00
  fault virtual address = 0x18
  fault code = supervisor write data, page not present
  instruction ponter = 0x20:0x806e80aa
  stack pointer = 0x28:0xff810ee50bc0
  frame pointer = 0x28:0xff810ee50bf0
  code segment = base 0x0, limit 0xf, type 0x16
  = DPL 0, pres 1, long 1, def32 0, gran 1
  processor eflags = interrupt enabled, resume, IOPL = 0
  current process = 15 (xhci0)
  trap number = 12
  panic: page fault
  cpuid = 0
  Uptime = 1s
  Automatic reboot in 15 seconds - press a key on the console to abort
  
  Hi,
  
  This looks like a NULL-pointer issue inside xhci_configure_msg() which
  probably should be easy to fix.
  
  Could you compile and boot a kernel with kernel debugging enable so
  that you
  get a backgtrace?
  
  I have not done this before.
  
  The GENERIC kernel already contains makeoptions DEBUG=-g (at least it
  is in /usr/src/sys/amd64/conf/GENERIC and there are all this large
  /boot/kernel/*.symbols). Is there anything else needed? (I do not need
  all the stuff that Ken Smith took out just before RC1 in r226405 just to
  get a trace, since I do not want to do online debugging, or do I need it
  anyhow?)
  
   From
  
  http://www.freebsd.org/doc/en/books/developers-handbook/kerneldebug.html
  , I thought that setting dumpdev=AUTO in /etc/rc.conf was enough to
  get a dump in /var/crash/ after the next boot to multiuser. That does
  not seem to be the case for me. What else do I have to do?
 
 After reading a bit more, I still do not know why I do not get a crash
 dump with dumpdev=AUTO (and /var/crash/ having enough space for a full
 memory dump). Is it too early during boot for dumpon to be set?

Try removing device xhci from the kernel config file and kldload xhci from 
the root prompt. Then I think you will get the kernel dump.

--HPS
___
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: Increase the degree of interactivity ULE scheduler

2011-11-03 Thread Jeff Roberson

On Sat, 22 Oct 2011, Ivan Klymenko wrote:


Hello people!

I have:
CPU: Intel(R) Core(TM)2 Duo CPU T7250  @ 2.00GHz (1994.48-MHz K8-class CPU)
FreeBSD 10.0-CURRENT r226607 amd64

For example during the building of the port lang/gcc46 in four streams (-j 4) 
with a heavy load on the processor - use the system was nearly impossible - 
responsiveness was terrible - the mouse cursor sometimes froze on the spot a 
few seconds...


Am I right in understanding that you have only two cores?  What else is 
running that achieves poor interactivity?  What is the cpu utilization of 
your x server at this time?




I managed to achieve a significant increase in the degree of interactivity ULE 
scheduler due to the following changes:


This patch probably breaks nice, adaptive idling, and slows the 
interactivity computation.  That being said I'm not sure why it helps you.


It seems that there are increasing reports of bad interactivity creeping 
in to ULE over the last year.  If people can help provide me with data I 
can look into this more.


Thanks for your report.

Jeff



##
--- sched_ule.c.orig2011-10-22 11:40:30.0 +0300
+++ sched_ule.c 2011-10-22 12:25:05.0 +0300
@@ -2119,6 +2119,14 @@

THREAD_LOCK_ASSERT(td, MA_OWNED);
tdq = TDQ_SELF();
+   if (td-td_pri_class  PRI_FIFO_BIT)
+   return;
+   ts = td-td_sched;
+   /*
+* We used up one time slice.
+*/
+   if (--ts-ts_slice  0)
+   return;
#ifdef SMP
/*
 * We run the long term load balancer infrequently on the first cpu.
@@ -2144,9 +2152,6 @@
if (TAILQ_EMPTY(tdq-tdq_timeshare.rq_queues[tdq-tdq_ridx]))
tdq-tdq_ridx = tdq-tdq_idx;
}
-   ts = td-td_sched;
-   if (td-td_pri_class  PRI_FIFO_BIT)
-   return;
if (PRI_BASE(td-td_pri_class) == PRI_TIMESHARE) {
/*
 * We used a tick; charge it to the thread so
@@ -2157,11 +2162,6 @@
sched_priority(td);
}
/*
-* We used up one time slice.
-*/
-   if (--ts-ts_slice  0)
-   return;
-   /*
 * We're out of time, force a requeue at userret().
 */
ts-ts_slice = sched_slice;
##

What do you think about this?

Thanks!

___
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: couple of sched_ule issues

2011-11-03 Thread Jeff Roberson

On Thu, 15 Sep 2011, Andriy Gapon wrote:



This is more of a just for the record email.
I think I've already stated the following observations, but I suspect that they
drowned in the noise of a thread in which I mentioned them.

1. Incorrect topology is built for single-package SMP systems.
That topology has two levels (shared nothing and shared package) with 
exactly
the same CPU sets.  That doesn't work well with the rebalancing algorithm which
assumes that each level is a proper/strict subset of its parent.

2. CPU load comparison algorithms are biased towards lower logical CPU IDs.
With all other things being equal the algorithms will always pick a CPU with a
lower ID.  This creates certain load asymmetry and predictable patterns in load
distribution.


If all other things truly are equal why does selecting a lower cpu number 
matter?




Another observation.
It seems that ULE makes a decision about thread-to-CPU affinity at the time 
when a
thread gets switched out.  This looks logical from the implementation point of
view.  But it doesn't seem logical from a general point of view - when the 
thread
will be becoming running again its affinity profile may become completely
different.  I think that it would depend on how much a thread actually spends 
not
running.


The decision is made at sched_add() time.  sched_pickcpu() does the work 
and selects the run-queue we will be added to.  We consider the CPU that 
the thread was last running on but the decision is made at the time that a 
run queue must be selected.


Jeff



--
Andriy Gapon
___
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


___
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: Increase the degree of interactivity ULE scheduler

2011-11-03 Thread Ivan Klymenko
Thank you for taking the time to answer me.

В Thu, 3 Nov 2011 10:21:48 -1000 (HST)
Jeff Roberson jrober...@jroberson.net пишет:

 On Sat, 22 Oct 2011, Ivan Klymenko wrote:
 
  Hello people!
 
  I have:
  CPU: Intel(R) Core(TM)2 Duo CPU T7250  @ 2.00GHz (1994.48-MHz
  K8-class CPU) FreeBSD 10.0-CURRENT r226607 amd64
 
  For example during the building of the port lang/gcc46 in four
  streams (-j 4) with a heavy load on the processor - use the system
  was nearly impossible - responsiveness was terrible - the mouse
  cursor sometimes froze on the spot a few seconds...
 
 Am I right in understanding that you have only two cores?

Yes.

 What else is running that achieves poor interactivity?

This is mainly a compilation with make option -j = ncpu*2
And as an example - launching a large number of programs
http://www.youtube.com/watch?v=1CLCp-dqWu0
This patch allows me to make do with ULE nearly as well as with FBFS
Without the patch, somewhere in the middle of the time with ULE has
been difficult to control the mouse cursor.

 What is the cpu utilization of your x server at this time?

~2.00% - 20.00% WCPU time... But sometimes there are up to 79%...
Upon unloading the CPU returns to normal...

 
 
  I managed to achieve a significant increase in the degree of
  interactivity ULE scheduler due to the following changes:
 
 This patch probably breaks nice, adaptive idling, and slows the 
 interactivity computation.  That being said I'm not sure why it helps
 you.
 
 It seems that there are increasing reports of bad interactivity
 creeping in to ULE over the last year.  If people can help provide me
 with data I can look into this more.
 

I'll be glad to provide data

 Thanks for your report.
 
 Jeff

How to repeat your tests on my system?
http://jeffr-tech.livejournal.com/24280.html

Sorry for my english.

Thanks!
___
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: Increase the degree of interactivity ULE scheduler

2011-11-03 Thread Jeff Roberson

On Thu, 3 Nov 2011, Ivan Klymenko wrote:


Thank you for taking the time to answer me.

? Thu, 3 Nov 2011 10:21:48 -1000 (HST)
Jeff Roberson jrober...@jroberson.net ?:


On Sat, 22 Oct 2011, Ivan Klymenko wrote:


Hello people!

I have:
CPU: Intel(R) Core(TM)2 Duo CPU T7250  @ 2.00GHz (1994.48-MHz
K8-class CPU) FreeBSD 10.0-CURRENT r226607 amd64

For example during the building of the port lang/gcc46 in four
streams (-j 4) with a heavy load on the processor - use the system
was nearly impossible - responsiveness was terrible - the mouse
cursor sometimes froze on the spot a few seconds...


Am I right in understanding that you have only two cores?


Yes.


What else is running that achieves poor interactivity?


This is mainly a compilation with make option -j = ncpu*2
And as an example - launching a large number of programs
http://www.youtube.com/watch?v=1CLCp-dqWu0
This patch allows me to make do with ULE nearly as well as with FBFS
Without the patch, somewhere in the middle of the time with ULE has
been difficult to control the mouse cursor.


What is the cpu utilization of your x server at this time?


~2.00% - 20.00% WCPU time... But sometimes there are up to 79%...
Upon unloading the CPU returns to normal...


When the x server is down at 20% is it laggy?  Can you tell me the 
priorities of the x server and the compile tasks?  You can use the 'pri' 
keyword with ps and write a short script to log all priorities once per 
second during your test.  That would be most helpful.  Let me know if you 
need assistance with that.


Jeff







I managed to achieve a significant increase in the degree of
interactivity ULE scheduler due to the following changes:


This patch probably breaks nice, adaptive idling, and slows the
interactivity computation.  That being said I'm not sure why it helps
you.

It seems that there are increasing reports of bad interactivity
creeping in to ULE over the last year.  If people can help provide me
with data I can look into this more.



I'll be glad to provide data


Thanks for your report.

Jeff


How to repeat your tests on my system?
http://jeffr-tech.livejournal.com/24280.html

Sorry for my english.

Thanks!


___
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: 10.0-CUR r226986 ports (general)

2011-11-03 Thread O. Hartmann
Am 11/03/11 18:42, schrieb b. f.:
 It turns out that the problem is more general! A lot of ./configure
 scripts are detecting in 10-CUR that they can't or should not build
 shared libs; the problem is that the OS is detected now as

 As a temporary workaround, add WITH_FBSD10_FIX=1 to /etc/make.conf.

 ports/UPDATING and some of the mails in the archive of -current
 recommend setting UNAME_r=9.0-CURRENT; is this the same or which method
 is prefered?
 
 No, it is not the same.  You can either masquerade, by setting UNAME_r
 and OSVERSION, or by editing the headers and scripts that define them;
 or you can use WITH_FBSD10_FIX for ports that define HAS_CONFIGURE
 (which is implied by USE_AUTOTOOLS and GNU_CONFIGURE).  Right now the
 masquerading is probably safer, because there are some problems with
 the fix that are still being resolved -- and a few ports that may fail
 despite the fix.  But of course if you help to test without
 masquerading, these problems will be resolved sooner.
 
 b.

So I presume the WITH_FBSD10_FIX flag is set in /etc/make.conf, right?
Setting this and try building ports without the masquerading will help
those people involved in fixing more than the masquerading solution? If
so, I would like to do so. I compile/update quite often ports, simply to
keep my system fresh and for some testing purposes. At the moment I
switch very often between CLANG and the legacy gcc 4.2.2 of FBSD 10, so
it would not bother me much more as the inherited bothering due to the
problems discussed if I have to switch one time more or prepare a PR for
the problem.

On the other hand, as far as I know, there was only suggested using
UNAME_r. When do I have to use the OSVERSION?


Regards
Oliver



signature.asc
Description: OpenPGP digital signature


Re: gmirror failed with error 19.

2011-11-03 Thread Kevin Oberman
On Thu, Nov 3, 2011 at 4:50 AM, Sascha Klauder sas...@trimind.de wrote:
 On Tue, 2011-11-01 11:23 +0400, Andrey V. Elsukov wrote:
 On 28.10.2011 13:48, Sascha Klauder wrote:
   GEOM_MIRROR: Device mirror/gm0 launched (2/2).
   GEOM_PART: partition 1 has end offset beyond last LBA: 490350671  
  490350670
   GEOM_PART: integrity check failed (mirror/gm0, MBR)
 This is the main problem. Your MBR' slice is bigger than actual space
 you have. The only way to fix this - recreate slice.

  I've partioned and labeled the disk with sysinstall(8) from
 8.2-RELEASE media.  Does 9.0 use different disk geometry cal-
 culation than 8.2 or is usage of gmirror the culprit?  Both
 8.2 and 9.0 kernels report the disk having 490350672 sectors.

 You can break your mirror, recreate the slice (NOTE: you must preserve
 one sector for the gmirror's meta-data), then copy your data to the
 newly created slice, then reboot from the new slice and recreate mirror.

  I think I'd rather reinstall 9.0 from scratch, getting rid
 of MBR/disklabel as well.

While using gpart and the 9.0 installer has some real benefits, it
also has a few problems.

I ave a disk that I partitioned with bsdinstall from the 9.0
distribution media and it worked fine for a STAT disk, but I am unable
to boot te same disk when connected to a USB adapter. It shows up in
the boot list, but when I select it, the screen blanks for a few
seconds (5) and the list re-appears. No errors, but my T520 BIOS
clearly is not happy with it. I have no idea how common htis issue
might be, but the T520 does have a UEFI BIOS.

As noted, GEOM wants the final sector on the disk for its metadata,
but GPT mandates that hte ast sector of the disk be used for a backup
of the boot sector. The leads to the potential ofr all kinds if
ugliness to develop, especially when BIOS, which knows nothing about
GEOM, is accessing the disk.
-- 
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


Re: 10.0-CUR r226986 ports (general)

2011-11-03 Thread b. f.
On 11/3/11, O. Hartmann ohart...@zedat.fu-berlin.de wrote:
 Am 11/03/11 18:42, schrieb b. f.:

So I presume the WITH_FBSD10_FIX flag is set in /etc/make.conf, right?

You can set it in a number of  local Makefiles that are automatically
included during a port build.  That includes make.conf, and the others
mentioned in ports/Mk/bsd.port.mk.  A few days ago Martin also added
WITH_FBSD10_FIX to the Makefiles of a number of commonly-used ports
that need the fix.

Setting this and try building ports without the masquerading will help
those people involved in fixing more than the masquerading solution? If

Yes.  Some of the known problems with the current fix don't occur when
ports are built in tinderboxes or clean sandboxes, but on live systems
that already have other ports installed.

 On the other hand, as far as I know, there was only suggested using
 UNAME_r. When do I have to use the OSVERSION?


You don't have to alter OSVERSION, but if you do not, then for those
ports that have WITH_FBSD10_FIX set in their Makefiles, the fix will
be applied, and you will be subject to any problems that the fix may
cause, even though you are trying to masquerade as a version of
FreeBSD less than 10.  Look at the conditional that determine whether
any action is taken during the run-autotools-fixup target in
ports/Mk/bsd.port.mk.

b.
___
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: make installworld fails on releng9

2011-11-03 Thread Benjamin Kaduk

On Sat, 29 Oct 2011, Chuck Burns wrote:


On Saturday, October 29, 2011 1:13:58 AM Benjamin Kaduk wrote:


Are you running installworld in single-user mode?
What is the value of kern.securelevel?

-Ben Kaduk


Yes, I was running in single-user mode, and kern.securelevel was never
modified, and is currently showing as -1

Also, I am running zfs root, if that makes a difference


Hmm, ZFS root is indeed potentially interesting.  Marco, are you also on 
ZFS root?


Have you run a ZFS scrub recently?  (That being about the limit of my ZFS 
knowledge, unfortunately.)


It's pretty puzzling why only this handful of immutable files would 
trigger an issue, though.


-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: getting the cpuid for a userspace process ?

2011-11-03 Thread C. P. Ghost
On Tue, Oct 25, 2011 at 8:54 PM, John Baldwin j...@freebsd.org wrote:
 On Tuesday, October 25, 2011 2:09:12 pm Poul-Henning Kamp wrote:
 In message 201110251342.45194@freebsd.org, John Baldwin writes:
 On Tuesday, October 25, 2011 11:06:22 am Luigi Rizzo wrote:
  as the subject says... is there any way to get the current
  CPU id for a userspace process (of course,
  valid only at the time the function is called as the
  process might be arbitrarily moved while it runs)
 
 Not from userland, no.  On x86 you can use cpuid to fetch the APIC ID, but
 that does not map 1:1 to FreeBSD cpu IDs.

 How does JEmalloc do it ?

 I don't think it does on FreeBSD.  The only thing malloc() knows on FreeBSD is
 the total number of CPUs.  I believe Linux has a system call that returns this
 though (sched_getcpu() is the public interface which is a wrapper around a
 getcpu() system call).  From the manpage it would seem that sched_getcpu()
 uses a per-thread shared page of some sort so that it doesn't actually have to
 enter the kernel to get the CPU ID.  Alternatively, you could imagine it on
 x86 at least exporting a table mapping APIC IDs to CPU IDs and then using
 cpuid and that table to do the lookup purely in userland.  That would only
 necessitate a global shared page and not one per-thread.  You could still fall
 back to a system call for other architectures that simply returned
 curthread-td_oncpu.

Exposing a table mapping to userland would be somewhat similar
to the way L4Ka::Pistachio exports a UTCB area to userland threads:

https://github.com/l4ka/pistachio/blob/dd624dde5bce4ab120b2fcecbbcd94473effb201/kernel/src/glue/v4-x86/utcb.h

 --
 John Baldwin

-cpghost.

-- 
Cordula's Web. http://www.cordula.ws/
___
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: Adding disk firmware programming capability to camcontrol

2011-11-03 Thread Craig Rodrigues
On Fri, Oct 28, 2011 at 1:47 PM, Nima Misaghian nmisagh...@sandvine.com wrote:
 Hi,

 I have got code developed by Andre Albsmeier that is capable of
 programming firmware of hard drives from several vendors and  turned
 it into a camcontrol command.

+1

I took a look at your patch and it looks great.  I have worked on a
storage product before where there
was a requirement to reprogram the firmware of hard drives.  On tha product,
proprietary Windows tools had to be used.  It would have been nice to
be able to use camcontrol in FreeBSD.

I think the patch is fine in its current form.  Very few regular
users need to reprogram hard drive firmware.
It is a special administrative operation.

-- 
Craig Rodrigues
rodr...@crodrigues.org
___
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: 10.0-CUR r226986 ports/net-mgmt/net-snmp

2011-11-03 Thread Matthias Apitz
El día Thursday, November 03, 2011 a las 01:42:50PM -0400, b. f. escribió:

 No, it is not the same.  You can either masquerade, by setting UNAME_r
 and OSVERSION, or by editing the headers and scripts that define them;
 or you can use WITH_FBSD10_FIX for ports that define HAS_CONFIGURE
 (which is implied by USE_AUTOTOOLS and GNU_CONFIGURE).  Right now the
 masquerading is probably safer, because there are some problems with
 the fix that are still being resolved -- and a few ports that may fail
 despite the fix.  But of course if you help to test without
 masquerading, these problems will be resolved sooner.

Well, I will try to help.

I have set WITH_FBSD10_FIX in /etc/make.conf; the port
ports/net-mgmt/net-snmp installs:

/usr/local/include/net-snmp/net-snmp-config.h

with:

...
/* define the system type include file here */
#define NETSNMP_SYSTEM_INCLUDE_FILE net-snmp/system/freebsd10.h
...

but the named header file is not there:

# ls -C1 /usr/local/include/net-snmp/system/free*
/usr/local/include/net-snmp/system/freebsd.h
/usr/local/include/net-snmp/system/freebsd2.h
/usr/local/include/net-snmp/system/freebsd3.h
/usr/local/include/net-snmp/system/freebsd4.h
/usr/local/include/net-snmp/system/freebsd5.h
/usr/local/include/net-snmp/system/freebsd6.h
/usr/local/include/net-snmp/system/freebsd7.h
/usr/local/include/net-snmp/system/freebsd8.h
/usr/local/include/net-snmp/system/freebsd9.h

I don't know what the correct fix ist, and for the moment I
created 'freebsd10.h' as a copy of 'freebsd9.h':

# cat freebsd10.h
#include freebsd9.h
#define freebsd8 freebsd8

+Cc: maintainer

Thanks

matthias
-- 
Matthias Apitz
t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211
e g...@unixarea.de - w http://www.unixarea.de/
UNIX since V7 on PDP-11, UNIX on mainframe since ESER 1055 (IBM /370)
UNIX on x86 since SVR4.2 UnixWare 2.1.2, FreeBSD since 2.2.5
___
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: VM images for FreeBSD

2011-11-03 Thread Benjamin Kaduk

On Wed, 19 Oct 2011, Alexander Yerenkow wrote:


Hello all!

I'm working currently on creating images with a set pre-installed packages.
I looked at project pkgng (candidate for replacing current pkg_* subsystem),
and also I have some thought about current packages/ports system.

1. pkg_add can be launched with parameter -p $PREFIX. So, my first thought
was: I create empty directory structure with mtree, and I'll install there
all required packages; after that I need only update this installation tree
(manually by pkg_delete $old pkg_add $new, or with some tool). But I cannot
specify to pkg_add relative root, instead of real one.

Let me show example:
PKG_DBDIR=/zpool0/testroot/var/db/pkg pkg_add -p /zpool0/testroot/usr/local
ubench-0.32.tbz
installs package, and in /zpool0/testroot/var/db/pkg/ubench-0.32/+CONTENTS
there will be such record:
@cwd /zpool0/testroot/usr/local

I can't specify to pkg_add that it should treat /zpool0/testroot as root, as
I need (so record really should be @cwd /usr/local)
Instead, pkg_add allows me to make chroot, which as you understand is not
good (In specified chroot all required by pkg* binaries/libraries must
exists, unfortunately I can't specify some empty dir and install there).

Why is that? Because there is +INSTALL script in packages, in which
package/port system allows execute any code/script written by porter.


This is indeed a frustrating problem.



2. In ports enhancements task list (somewhere i read it) there was one item:
Make packages non-executable (or something similar). To do this properly, we
must get rid of of free-form post-install post-deinstall scripts.
To do this, we need some deep analysis of what types of actions there
happening, formalize them and provide some way to porters specify all needed
actions in Makefile.
I downloaded all packages for 9-current i386, found all +INSTALL scripts,
and kinda categorized them, you can get all of them here:
http://www.box.net/shared/ieovjj7l8omkrm3l21xb

To summarize my efforts:
I checked 21195 packages;
I found 880 install scripts;

3 scripts contains plain exit 0
8 install scripts contains some perl code;
17 scripts contains some additional install commands;
70 scripts contains some chgroup/chown actions (which probably could be done
by specifying mtree file?...)
75 contains uncategorized actions (print of license, some interactive
questions, ghostscript actions, tex, fonts etc.)
161 scripts contains some file commands, like (ld / cp / mv, creating
backups, creating configs if they aren't exists etc. )
166 scripts contains useradd/groupadd commands (many similar constructions,
not too hard to move this to .mk, in pkgng group/users can be specified in
yaml config)
380 contains pear component registration (md5 -q * | uniq  - produces
exactly one result, so these all scripts are really one, could be moved to
some pear.mk)



Thank you for doing this analysis/breakdown!
However, I worry that it may have missed @exec statements in pkg-plist 
files ... for example, net/openafs (which I maintain) runs kldxref in 
/boot/modules after installing a kernel module, which is needed in order 
for kldload to find the module.  Now, this is clearly a case that a 
potential nonexecutable package framework could handle, checking for 
installed kernel modules and acting accordingly.  However, having not done 
the survey of the sort you did for install scripts, it is an uneasy 
dangling unknown.



Why I'm interested in non-executable install of package (e.g. simple unpack
+ execute some typical actions based on package description):
- Unpacking of hundreds Mb packages takes several minutes (to mdconfig-ed
filesystem)
- Installation of these packages via pkg_add (they downloads from local ftp)
took hours in my case (to mdconfig-ed filesystem)



This is quite a telling statistic :)


As you understand, to make efficient image building system, I need to deal
with package installation without spending too many cpu/disk resources.
Ideally I consider all required packages are extracted to some their own
directory, like for ubench:
$X/packages/ubench/ (and here goes all directory structure which should be
copied to new root)

plus separated info of new users/groups (maybe there need some additional
data to make package installed in such way fully working).


There would certainly be additional data needed, e.g. for installing 
sample configuration files and copying to the real location, and removing 
both copies on uninstallation if the real file is unchanged from the 
sample.  I'm sure there are others, too.




So, maybe someone working in this direction, or have any comments?



I would be very hesitant to proceed in this direction without doing some 
investigation of other package-based systems.
For example, Debian packages are inherently binary-based, there is not a 
real parallel to our ports framework.  Yet if anything, I think that 
executable packages may be even more heavily used in Debian than in 
FreeBSD.  In addition to 

Re: 10.0-CUR r226986 ports/net-mgmt/net-snmp

2011-11-03 Thread Garrett Cooper
On Nov 3, 2011, at 8:25 PM, Matthias Apitz wrote:

 El día Thursday, November 03, 2011 a las 01:42:50PM -0400, b. f. escribió:
 
 No, it is not the same.  You can either masquerade, by setting UNAME_r
 and OSVERSION, or by editing the headers and scripts that define them;
 or you can use WITH_FBSD10_FIX for ports that define HAS_CONFIGURE
 (which is implied by USE_AUTOTOOLS and GNU_CONFIGURE).  Right now the
 masquerading is probably safer, because there are some problems with
 the fix that are still being resolved -- and a few ports that may fail
 despite the fix.  But of course if you help to test without
 masquerading, these problems will be resolved sooner.
 
 Well, I will try to help.
 
 I have set WITH_FBSD10_FIX in /etc/make.conf; the port
 ports/net-mgmt/net-snmp installs:
 
 /usr/local/include/net-snmp/net-snmp-config.h
 
 with:
 
 ...
 /* define the system type include file here */
 #define NETSNMP_SYSTEM_INCLUDE_FILE net-snmp/system/freebsd10.h
 ...
 
 but the named header file is not there:
 
 # ls -C1 /usr/local/include/net-snmp/system/free*
 /usr/local/include/net-snmp/system/freebsd.h
 /usr/local/include/net-snmp/system/freebsd2.h
 /usr/local/include/net-snmp/system/freebsd3.h
 /usr/local/include/net-snmp/system/freebsd4.h
 /usr/local/include/net-snmp/system/freebsd5.h
 /usr/local/include/net-snmp/system/freebsd6.h
 /usr/local/include/net-snmp/system/freebsd7.h
 /usr/local/include/net-snmp/system/freebsd8.h
 /usr/local/include/net-snmp/system/freebsd9.h
 
 I don't know what the correct fix ist, and for the moment I
 created 'freebsd10.h' as a copy of 'freebsd9.h':
 
 # cat freebsd10.h
 #include freebsd9.h
 #define freebsd8 freebsd8
 
 +Cc: maintainer

You'll need to do more than just that. Take a look at the port history for more 
details...
-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: VM images for FreeBSD

2011-11-03 Thread Daniel O'Connor

On 19/10/2011, at 21:19, Alexander Yerenkow wrote:
 I can't specify to pkg_add that it should treat /zpool0/testroot as root, as
 I need (so record really should be @cwd /usr/local)
 Instead, pkg_add allows me to make chroot, which as you understand is not
 good (In specified chroot all required by pkg* binaries/libraries must
 exists, unfortunately I can't specify some empty dir and install there).

Hmmm, why is it empty?
When I have made something analogous I did an installkernel/world into a 
directory and then chroot'd in there and built ports. There is no reason you 
couldn't pkg_add from a local mirror (or nullfs mount a local package mirror 
directory into the chroot).

 Why is that? Because there is +INSTALL script in packages, in which
 package/port system allows execute any code/script written by porter.

This is a feature ;)

 To summarize my efforts:
 I checked 21195 packages;
 I found 880 install scripts;
 
 3 scripts contains plain exit 0
 8 install scripts contains some perl code;
 17 scripts contains some additional install commands;
 70 scripts contains some chgroup/chown actions (which probably could be done
 by specifying mtree file?...)
 75 contains uncategorized actions (print of license, some interactive
 questions, ghostscript actions, tex, fonts etc.)
 161 scripts contains some file commands, like (ld / cp / mv, creating
 backups, creating configs if they aren't exists etc. )
 166 scripts contains useradd/groupadd commands (many similar constructions,
 not too hard to move this to .mk, in pkgng group/users can be specified in
 yaml config)
 380 contains pear component registration (md5 -q * | uniq  - produces
 exactly one result, so these all scripts are really one, could be moved to
 some pear.mk)

Interesting stats, thanks for taking the time to do the analysis.

I think one of the reasons pkg_add is so slow is that it copies everything to a 
staging directory, then copies the files.. This is very tedious (obviously). I 
wonder if it could be modified to have a stream mode where it unpacks 
directly into the target FS.

Alternatively you could cut it in 2 conceptually and modify pkg_add so it can 
run it a mode where it just unpacks to a staging area, and another mode where 
it copies from the staging area to the destination.

--
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
The nice thing about standards is that there
are so many of them to choose from.
  -- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C






___
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: 10.0-CUR r226986 ports/security/cyrus-sasl2-saslauthd

2011-11-03 Thread Matthias Apitz
El día Thursday, November 03, 2011 a las 01:42:50PM -0400, b. f. escribió:

 No, it is not the same.  You can either masquerade, by setting UNAME_r
 and OSVERSION, or by editing the headers and scripts that define them;
 or you can use WITH_FBSD10_FIX for ports that define HAS_CONFIGURE
 (which is implied by USE_AUTOTOOLS and GNU_CONFIGURE).  Right now the
 masquerading is probably safer, because there are some problems with
 the fix that are still being resolved -- and a few ports that may fail
 despite the fix.  But of course if you help to test without
 masquerading, these problems will be resolved sooner.

the ports/security/cyrus-sasl2-saslauthd does not install with
WITH_FBSD10_FIX; terminates with:

cc  -O2 -pipe -fno-strict-aliasing  -rpath=/usr/lib:/usr/local/lib -o
saslauthd
mechanisms.o auth_dce.o  auth_getpwent.o auth_krb5.o  auth_krb4.o
auth_pam.o aut
h_rimap.o  auth_httpform.o auth_shadow.o  auth_sia.o auth_sasldb.o lak.o
auth_l
dap.o cache.o cfile.o  krbtf.o utils.o ipc_unix.o  ipc_doors.o
saslauthd-main.o
md5.o -L/usr/lib -lgssapi -lheimntlm -lkrb5 -lhx509 -lcom_err -lcrypto
-lasn1 -l
roken -lcrypt  -lcrypt   ../sasldb/.libs/libsasldb.al -lpam
cc: ../sasldb/.libs/libsasldb.al: No such file or directory
*** Error code 1

installes fine with UNAME_r set to 9-CURRENT;

Thanks

matthias
-- 
Matthias Apitz
t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211
e g...@unixarea.de - w http://www.unixarea.de/
UNIX since V7 on PDP-11, UNIX on mainframe since ESER 1055 (IBM /370)
UNIX on x86 since SVR4.2 UnixWare 2.1.2, FreeBSD since 2.2.5
___
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