SMP users needed to test patch

2009-11-04 Thread Stathis Kamperis
Hello everyone!

I'd like to mark mq*() syscall as MPSAFE, but before that I need
someone to test them in an SMP capable machine running SMP kernel. I
only have UP machines around.

So, if anyone is able and kind enough, here are some directions on how
to do it. I assume s\he is running HEAD.

cd /usr/src
fetch http://leaf.dragonflybsd.org/~beket/mq-mpsafe.diff
git apply mq-mpsafe.diff
make buildkernel
make installkernel
reboot
git clone git://gitweb.dragonflybsd.org/~beket/pcca-tests.git
cd pcca-tests/mqueue.h
make  make -k run
cd etc
make
sysctl -w kern.mqueue.mq_prio_max=200
./t_mq_parallel_threads
./t_mq_parallel_fork

If you encounter problems you can mail me off-list to sort them out. I
know that it's messy, so no hard feelings if no one volunteers :)
Thank you for considering.

Best regards,
Stathis Kamperis


Re: SMP users needed to test patch

2009-11-04 Thread Saifi Khan
On Wed, 4 Nov 2009, Stathis Kamperis wrote:

 Hello everyone!
 
 I'd like to mark mq*() syscall as MPSAFE, but before that I need
 someone to test them in an SMP capable machine running SMP kernel. I
 only have UP machines around.
 
 So, if anyone is able and kind enough, here are some directions on how
 to do it. I assume s\he is running HEAD.
 
 cd /usr/src
 fetch http://leaf.dragonflybsd.org/~beket/mq-mpsafe.diff
 git apply mq-mpsafe.diff
 make buildkernel
 make installkernel
 reboot

Reached this far and currently face the issue which has
effectively disabled networking.

 intr 2 at 40001/4 hz, livelock limit engaged

Details posted in a separate thread.


thanks
Saifi.



Re: SMP users needed to test patch

2009-11-04 Thread Stathis Kamperis
2009/11/4 Saifi Khan saifi.k...@datasynergy.org:
 On Wed, 4 Nov 2009, Stathis Kamperis wrote:

 Hello everyone!

 I'd like to mark mq*() syscall as MPSAFE, but before that I need
 someone to test them in an SMP capable machine running SMP kernel. I
 only have UP machines around.

 So, if anyone is able and kind enough, here are some directions on how
 to do it. I assume s\he is running HEAD.

 cd /usr/src
 fetch http://leaf.dragonflybsd.org/~beket/mq-mpsafe.diff
 git apply mq-mpsafe.diff
 make buildkernel
 make installkernel
 reboot

 Reached this far and currently face the issue which has
 effectively disabled networking.

  intr 2 at 40001/4 hz, livelock limit engaged

 Details posted in a separate thread.


 thanks
 Saifi.



Thank you Saifi! I very much appreciate the time you've put into this.

Did you by any chance try without my patch and SMP/APIC set in your
kernel configuration file ?


Best regards,
Stathis Kamperis


Re: SMP users needed to test patch

2009-11-04 Thread Saifi Khan
On Wed, 4 Nov 2009, Stathis Kamperis wrote:

 2009/11/4 Saifi Khan saifi.k...@datasynergy.org:
  On Wed, 4 Nov 2009, Stathis Kamperis wrote:
 
  Hello everyone!
 
  I'd like to mark mq*() syscall as MPSAFE, but before that I need
  someone to test them in an SMP capable machine running SMP kernel. I
  only have UP machines around.
 
  So, if anyone is able and kind enough, here are some directions on how
  to do it. I assume s\he is running HEAD.
 
  cd /usr/src
  fetch http://leaf.dragonflybsd.org/~beket/mq-mpsafe.diff
  git apply mq-mpsafe.diff
  make buildkernel
  make installkernel
  reboot
 
  Reached this far and currently face the issue which has
  effectively disabled networking.
 
   intr 2 at 40001/4 hz, livelock limit engaged
 
  Details posted in a separate thread.
 
 
  thanks
  Saifi.
 
 
 
 Thank you Saifi! I very much appreciate the time you've put into this.
 
 Did you by any chance try without my patch and SMP/APIC set in your
 kernel configuration file ?
 

Unfortunately no !

Let me try and revert the patch i applied and rebuild the kernel.
Will post an update on this.


thanks
Saifi.



Re: SMP users needed to test patch

2009-11-04 Thread Saifi Khan
On Wed, 4 Nov 2009, Stathis Kamperis wrote:

 
 Did you by any chance try without my patch and SMP/APIC set in your
 kernel configuration file ?
 
 

Commented out the following option and 'recompiled' the kernel.

### options APIC_IO

Did not see any of the 'livelock' notifications.

So, i ventured out and cloned in the 'pcca-test'.

On running 'make' in the mqueue.h/

 make
gcc -Wall -W -Wformat-nonliteral -Wcast-align -Wpointer-arith  
-Wbad-function-cast -Wmissing-prototypes -Wstrict-prototypes  
-Wmissing-declarations -Winline -Wundef -Wnested-externs -Wcast-qual  -Wshadow 
-Wwrite-strings -Wno-unused-parameter -Wfloat-equal  -Wswitch 
-Wbad-function-cast -g -lrt t_mq_ambig.c -o t_mq_ambig
/usr/libexec/binutils217/elf/ld: cannot find -lrt
*** Error code 1

Stop in /home/saifi/dragonflybsd/pcca-tests/mqueue.h.
 

Does this imply that i need to buildworld as well ?

i suppose 'librt' is POSIX real time extensions.

Here is the 'dmesg', (it it helps).

...
Copyright (c) 2003-2009 The DragonFly Project.
Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
DragonFly d15a49f-DEVELOPMENT #1: Thu Nov  5 13:21:29 IST 2009
r...@amd64x2.datasynergy.org:/usr/obj/usr/src/sys/AMD64-P-MQ
Calibrating clock(s) ... TSC clock: 2310389259 Hz, i8254 clock: 1193136 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
CLK_USE_TSC_CALIBRATION not specified - using old calibration method
CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ (2310.50-MHz K8-class CPU)
  Origin = AuthenticAMD  Id = 0x60fb1  Stepping = 1
  
Features=0x178bfbffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT
  Features2=0x2001SSE3,CX16
  AMD Features=0xea500800SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3DNow!
  AMD Features2=0x11fLAHF,CMP,SVM,ExtAPIC,CR8,Prefetch
  Cores per package: 2
L1 2MB data TLB: 8 entries, fully associative
L1 2MB instruction TLB: 8 entries, fully associative
L1 4KB data TLB: 32 entries, fully associative
L1 4KB instruction TLB: 32 entries, fully associative
L1 data cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
L1 instruction cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
L2 2MB unified TLB: 0 entries, disabled/not present
L2 4KB data TLB: 512 entries, 4-way associative
L2 4KB instruction TLB: 512 entries, 4-way associative
L2 unified cache: 512 kbytes, 64 bytes/line, 1 lines/tag, 16-way associative
real memory  = 2013003776 (1965824K bytes)
Physical memory chunk(s):
0x1000 - 0x0009bfff, 634880 bytes (155 pages)
0x01007000 - 0x77fa, 1996132352 bytes (487337 pages)
avail memory = 1879461888 (1835412K bytes)
lapic: divisor index 0, frequency 100455852 Hz
SMP: CPU0 apic_initialize():
 lint0: 0x0700 lint1: 0x00010400 TPR: 0x008f SVR: 0x01ff
DragonFly/MP: Multiprocessor motherboard
 cpu0 (BSP): apic id:  0, version: 0x80050010, at 0xfee0
 cpu1 (AP):  apic id:  1, version: 0x80050010, at 0xfee0
 Warning: APIC I/O disabledAPIC_IO disabled
Finish MP startup
SMP: AP CPU #1 Launched!
SMP: CPU1 apic_initialize():
 lint0: 0x0001 lint1: 0x00010400 TPR: 0x008f SVR: 0x01ff
Active CPU Mask: 0003
objcache(exec-args): too small for ncpus, adjusting cluster_limit 16-32
Preloaded elf kernel /kernel at 0x80fde000.
Preloaded elf obj module /modules/acpi.ko at 0x80fde290.
start scheduler helpers on cpus: 0 1
start dummy scheduler helpers on cpus: 0 1
wlan: 802.11 Link Layer
kbd: new array size 4
kbd1 at kbdmux0
crypto: crypto core
sched_ithd: stray interrupt 7 on cpu 1
md0: Malloc disk
ACPI: RSDP 0xfb840 00014 (v0 ACPIAM)
ACPI: RSDT 0x77fc 00040 (v1 _ASUS_ Notebook 04000730 MSFT 0097)
ACPI: FACP 0x77fc0200 00084 (v2 A_M_I_ OEMFACP  04000730 MSFT 0097)
ACPI: DSDT 0x77fc05c0 04D44 (v1  A0557 A0557000  INTL 20051117)
ACPI: FACS 0x77fce000 00040
ACPI: APIC 0x77fc0390 00070 (v1 A_M_I_ OEMAPIC  04000730 MSFT 0097)
ACPI: MCFG 0x77fc0400 0003C (v1 A_M_I_ OEMMCFG  04000730 MSFT 0097)
ACPI: SLIC 0x77fc0440 00176 (v1 _ASUS_ Notebook 04000730 MSFT 0097)
ACPI: OEMB 0x77fce040 00060 (v1 A_M_I_ AMI_OEM  04000730 MSFT 0097)
ACPI: HPET 0x77fc5310 00038 (v1 A_M_I_ OEMHPET0 04000730 MSFT 0097)
ACPI: SSDT 0x77fc5350 00248 (v1 A_M_I_ POWERNOW 0001 AMD  0001)
acpi0.nexus0.root0
acpi0: _ASUS_ Notebook [tentative] on motherboard
acpi0: Power Button (fixed)
Warning: ACPI is disabling APM's device.  You can't run both
pci_open(1):mode 1 addr port (0x0cf8) is 0x8000c060
pci_open(1a):   mode1res=0x8000 (0x8000)
pci_cfgcheck:   device 0 [class=05] [hdr=00] is there (id=03ea10de)
AcpiOsDerivePciId: bus 0 dev 1 func 0
ACPI timer looks BAD  min = 5, max = 12, width = 7
ACPI timer looks BAD  min = 5, max = 793, width = 788
ACPI timer looks GOOD min = 5, max = 6, width = 1
ACPI timer looks BAD  min 

Re: SMP users needed to test patch

2009-11-04 Thread Stathis Kamperis
2009/11/4 Saifi Khan saifi.k...@datasynergy.org:
 On Wed, 4 Nov 2009, Stathis Kamperis wrote:


 Did you by any chance try without my patch and SMP/APIC set in your
 kernel configuration file ?



 Commented out the following option and 'recompiled' the kernel.

 ### options APIC_IO

 Did not see any of the 'livelock' notifications.

Alright, thanks. I suppose that those livelock events are irrelevant
to my work then.


 So, i ventured out and cloned in the 'pcca-test'.

 On running 'make' in the mqueue.h/

 make
 gcc -Wall -W -Wformat-nonliteral -Wcast-align -Wpointer-arith  
 -Wbad-function-cast -Wmissing-prototypes -Wstrict-prototypes  
 -Wmissing-declarations -Winline -Wundef -Wnested-externs -Wcast-qual  
 -Wshadow -Wwrite-strings -Wno-unused-parameter -Wfloat-equal  -Wswitch 
 -Wbad-function-cast -g -lrt t_mq_ambig.c -o t_mq_ambig
 /usr/libexec/binutils217/elf/ld: cannot find -lrt
 *** Error code 1

 Stop in /home/saifi/dragonflybsd/pcca-tests/mqueue.h.


Oh, you must be running 2.4.x, right? The librt has been born in 2.5.x :)
So there isn't much you can do.

 thanks
 Saifi.
No, I thank you.


Best regards,
Stathis Kamperis