On Sun, Apr 28, 2019 at 01:57:46AM +0000, Ian McWilliam wrote:

> 
> 
> On 28/4/19, 12:56 am, "owner-t...@openbsd.org on behalf of Otto Moerbeek"
> <owner-t...@openbsd.org on behalf of o...@drijf.net> wrote:
> 
> >On Sat, Apr 27, 2019 at 04:43:14PM +0200, Otto Moerbeek wrote:
> >
> >> On Sat, Apr 27, 2019 at 04:37:23PM +0200, Antoine Jacoutot wrote:
> >> 
> >> > On Sat, Apr 27, 2019 at 09:55:33PM +0800, Nathanael Rensen wrote:
> >> > > The diff below speeds up ld.so library intialisation where the
> >>dependency
> >> > > tree is broad and deep, such as samba's smbd which links over 100
> >>libraries.
> >> > > 
> >> > > See for example
> >>https://marc.info/?l=openbsd-misc&m=155007285712913&w=2
> >> > > 
> >> > > See https://marc.info/?l=openbsd-tech&m=155637285221396&w=2 for
> >>part 1
> >> > > that speeds up library loading.
> >> > > 
> >> > > The timings below are for /usr/local/sbin/smbd --version:
> >> > > 
> >> > > Timing without either diff  : 6m45.67s real  6m45.65s user
> >>0m00.02s system
> >> > > Timing with part 1 diff only: 4m42.88s real  4m42.85s user
> >>0m00.02s system
> >> > > Timing with part 2 diff only: 2m02.61s real  2m02.60s user
> >>0m00.01s system
> >> > > Timing with both diffs      : 0m00.03s real  0m00.03s user
> >>0m00.00s system
> >> > > 
> >> > > Note that these timings are for a build of a recent samba master
> >>tree
> >> > > (linked with kerberos) which is probably slower than the OpenBSD
> >>port.
> >> > > 
> >> > > Nathanael
> >> > 
> >> > Wow. Tried your part1 and part2 diffs and the difference is indeed
> >>insane!
> >> > mail/evolution always took 10+ seconds to start for me and now it's
> >>almost
> >> > instant...
> >> > Crazy... But this sounds too good to be true ;-)
> >> > What are the potential regressions?
> >> 
> >> Speaking off regression tests, we have quite en extensive collection.
> >> The tests in libexec/ld.so should all pass.
> >
> >And the do on amd64
> >
> >> 
> >>    -Otto
> >> 
> >> 
> 
> The results look good but it still doesn¹t resolve the root cause of the
> issue.


Speedup of lds.o is nice in any circostance and samba issues should be
viewed seperately.  In other word, please don't hijack the thread.

        -Otto

> Using both patches on old hardware helps speed up the process but I still
> see the rc script timeout before smbd is loaded causing the rest of the
> samba processes to fail to load. This did not happen under 6.4 (amd64) so
> the change of linker / compiler update is still potentially where the
> problem may lie. 
> 
> Starting smbd with both patches
>  0m46.55s real     0m46.47s user     0m00.07s system
> 
> 
> Would still be good to see this work committed though.
> 
> Ian McWilliam
> 
> OpenBSD 6.5 (GENERIC.MP) #0: Mon Apr 15 16:28:00 AEST 2019
>     
> ianm@ianm-openbsd65.localdomain:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 6424494080 (6126MB)
> avail mem = 6220148736 (5931MB)
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xf0100 (55 entries)
> bios0: vendor Award Software International, Inc. version "F10d" date
> 07/22/2010
> bios0: Gigabyte Technology Co., Ltd. GA-MA790X-DS4
> acpi0 at bios0: rev 0
> acpi0: sleep states S0 S1 S4 S5
> acpi0: tables DSDT FACP SSDT HPET MCFG APIC
> acpi0: wakeup devices USB0(S3) USB1(S3) USB2(S3) USB3(S3) USB4(S3)
> USB5(S3) SBAZ(S4) P2P_(S5) PCE2(S4) PCE3(S4) PCE4(S4) PCE5(S4) PCE6(S4)
> PCE7(S4) PCE8(S4) PCE9(S4) [...]
> acpitimer0 at acpi0: 3579545 Hz, 32 bits
> acpihpet0 at acpi0: 14318180 Hz
> acpimcfg0 at acpi0
> acpimcfg0: addr 0xe0000000, bus 0-255
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: AMD Phenom(tm) 9750 Quad-Core Processor, 2411.28 MHz, 10-02-03
> cpu0: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFL
> USH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,PAGE1GB,RDT
> SCP,LONG,3DNOW2,3DNOW,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,
> OSVW,IBS,ITSC
> cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
> 64b/line 16-way L2 cache, 2MB 64b/line 32-way L3 cache
> cpu0: ITLB 32 4KB entries fully associative, 16 4MB entries fully
> associative
> cpu0: DTLB 48 4KB entries fully associative, 48 4MB entries fully
> associative
> cpu0: AMD erratum 721 detected and fixed
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
> cpu0: apic clock running at 200MHz
> cpu0: mwait min=64, max=64, IBE
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: AMD Phenom(tm) 9750 Quad-Core Processor, 2410.99 MHz, 10-02-03
> cpu1: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFL
> USH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,PAGE1GB,RDT
> SCP,LONG,3DNOW2,3DNOW,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,
> OSVW,IBS,ITSC
> cpu1: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
> 64b/line 16-way L2 cache, 2MB 64b/line 32-way L3 cache
> cpu1: ITLB 32 4KB entries fully associative, 16 4MB entries fully
> associative
> cpu1: DTLB 48 4KB entries fully associative, 48 4MB entries fully
> associative
> cpu1: AMD erratum 721 detected and fixed
> cpu1: smt 0, core 1, package 0
> cpu2 at mainbus0: apid 2 (application processor)
> cpu2: AMD Phenom(tm) 9750 Quad-Core Processor, 2410.99 MHz, 10-02-03
> cpu2: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFL
> USH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,PAGE1GB,RDT
> SCP,LONG,3DNOW2,3DNOW,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,
> OSVW,IBS,ITSC
> cpu2: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
> 64b/line 16-way L2 cache, 2MB 64b/line 32-way L3 cache
> cpu2: ITLB 32 4KB entries fully associative, 16 4MB entries fully
> associative
> cpu2: DTLB 48 4KB entries fully associative, 48 4MB entries fully
> associative
> cpu2: AMD erratum 721 detected and fixed
> cpu2: smt 0, core 3, package 0
> cpu3 at mainbus0: apid 3 (application processor)
> cpu3: AMD Phenom(tm) 9750 Quad-Core Processor, 2410.99 MHz, 10-02-03
> cpu3: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFL
> USH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,PAGE1GB,RDT
> SCP,LONG,3DNOW2,3DNOW,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,
> OSVW,IBS,ITSC
> cpu3: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
> 64b/line 16-way L2 cache, 2MB 64b/line 32-way L3 cache
> cpu3: ITLB 32 4KB entries fully associative, 16 4MB entries fully
> associative
> cpu3: DTLB 48 4KB entries fully associative, 48 4MB entries fully
> associative
> cpu3: AMD erratum 721 detected and fixed
> cpu3: smt 0, core 2, package 0
> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 21, 24 pins, remapped
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus 3 (P2P_)
> acpiprt2 at acpi0: bus 1 (PCE2)
> acpiprt3 at acpi0: bus -1 (PCE3)
> acpiprt4 at acpi0: bus -1 (PCE4)
> acpiprt5 at acpi0: bus -1 (PCE5)
> acpiprt6 at acpi0: bus -1 (PCE6)
> acpiprt7 at acpi0: bus -1 (PCE7)
> acpiprt8 at acpi0: bus -1 (PCE8)
> acpiprt9 at acpi0: bus -1 (PCE9)
> acpiprt10 at acpi0: bus 2 (PCEA)
> acpiprt11 at acpi0: bus -1 (PCEB)
> acpiprt12 at acpi0: bus -1 (PCEC)
> acpicpu0 at acpi0: C1(@1 halt!), PSS
> acpicpu1 at acpi0: C1(@1 halt!), PSS
> acpicpu2 at acpi0: C1(@1 halt!), PSS
> acpicpu3 at acpi0: C1(@1 halt!), PSS
> acpibtn0 at acpi0: PWRB
> acpipci0 at acpi0 PCI0: _OSC failed
> acpicmos0 at acpi0
> cpu0: 2411 MHz: speeds: 2400 1200 MHz
> pci0 at mainbus0 bus 0
> 0:0:0: mem address conflict 0xe0000000/0x20000000
> pchb0 at pci0 dev 0 function 0 "ATI RD780 HT-PCIE" rev 0x00
> ppb0 at pci0 dev 2 function 0 "ATI RD790 PCIE" rev 0x00
> pci1 at ppb0 bus 1
> vga1 at pci1 dev 0 function 0 "NVIDIA GeForce 8400 GS" rev 0xa1
> wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
> wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
> ppb1 at pci0 dev 10 function 0 "ATI RD790 PCIE" rev 0x00
> pci2 at ppb1 bus 2
> re0 at pci2 dev 0 function 0 "Realtek 8168" rev 0x01: RTL8168 2 (0x3800),
> msi, address 00:1f:d0:a4:c0:03
> rgephy0 at re0 phy 7: RTL8169S/8110S/8211 PHY, rev. 2
> ahci0 at pci0 dev 18 function 0 "ATI SB600 SATA" rev 0x00: apic 2 int 22,
> AHCI 1.1
> ahci0: port 0: 3.0Gb/s
> ahci0: port 1: 3.0Gb/s
> ahci0: port 2: 1.5Gb/s
> scsibus1 at ahci0: 32 targets
> sd0 at scsibus1 targ 0 lun 0: <ATA, Hitachi HDS72105, JP2O> SCSI3 0/direct
> fixed naa.5000cca374f45c20
> sd0: 476935MB, 512 bytes/sector, 976764911 sectors
> sd1 at scsibus1 targ 1 lun 0: <ATA, SAMSUNG HD501LJ, CR10> SCSI3 0/direct
> fixed naa.50000f00db208553
> sd1: 476938MB, 512 bytes/sector, 976771055 sectors
> cd0 at scsibus1 targ 2 lun 0: <HL-DT-ST, DVDRAM GH22NS50, TN03> ATAPI
> 5/cdrom removable
> ohci0 at pci0 dev 19 function 0 "ATI SB600 USB" rev 0x00: apic 2 int 16,
> version 1.0, legacy support
> ohci1 at pci0 dev 19 function 1 "ATI SB600 USB" rev 0x00: apic 2 int 17,
> version 1.0, legacy support
> ohci2 at pci0 dev 19 function 2 "ATI SB600 USB" rev 0x00: apic 2 int 18,
> version 1.0, legacy support
> ohci3 at pci0 dev 19 function 3 "ATI SB600 USB" rev 0x00: apic 2 int 17,
> version 1.0, legacy support
> ohci4 at pci0 dev 19 function 4 "ATI SB600 USB" rev 0x00: apic 2 int 18,
> version 1.0, legacy support
> ehci0 at pci0 dev 19 function 5 "ATI SB600 USB2" rev 0x00: apic 2 int 19
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 configuration 1 interface 0 "ATI EHCI root hub" rev
> 2.00/1.00 addr 1
> piixpm0 at pci0 dev 20 function 0 "ATI SBx00 SMBus" rev 0x14: SMI
> iic0 at piixpm0
> spdmem0 at iic0 addr 0x50: 2GB DDR2 SDRAM non-parity PC2-6400CL5
> spdmem1 at iic0 addr 0x51: 2GB DDR2 SDRAM non-parity PC2-6400CL5
> spdmem2 at iic0 addr 0x52: 1GB DDR2 SDRAM non-parity PC2-6400CL6
> spdmem3 at iic0 addr 0x53: 1GB DDR2 SDRAM non-parity PC2-6400CL6
> pciide0 at pci0 dev 20 function 1 "ATI SB600 IDE" rev 0x00: DMA, channel 0
> configured to compatibility, channel 1 configured to compatibility
> azalia0 at pci0 dev 20 function 2 "ATI SBx00 HD Audio" rev 0x00: apic 2
> int 16
> azalia0: codecs: Realtek ALC885
> audio0 at azalia0
> pcib0 at pci0 dev 20 function 3 "ATI SB600 ISA" rev 0x00
> ppb2 at pci0 dev 20 function 4 "ATI SB600 PCI" rev 0x00
> pci3 at ppb2 bus 3
> "TI TSB43AB23 FireWire" rev 0x00 at pci3 dev 14 function 0 not configured
> pchb1 at pci0 dev 24 function 0 "AMD AMD64 10h HyperTransport" rev 0x00
> pchb2 at pci0 dev 24 function 1 "AMD AMD64 10h Address Map" rev 0x00
> pchb3 at pci0 dev 24 function 2 "AMD AMD64 10h DRAM Cfg" rev 0x00
> km0 at pci0 dev 24 function 3 "AMD AMD64 10h Misc Cfg" rev 0x00
> pchb4 at pci0 dev 24 function 4 "AMD AMD64 10h Link Cfg" rev 0x00
> usb1 at ohci0: USB revision 1.0
> uhub1 at usb1 configuration 1 interface 0 "ATI OHCI root hub" rev
> 1.00/1.00 addr 1
> usb2 at ohci1: USB revision 1.0
> uhub2 at usb2 configuration 1 interface 0 "ATI OHCI root hub" rev
> 1.00/1.00 addr 1
> usb3 at ohci2: USB revision 1.0
> uhub3 at usb3 configuration 1 interface 0 "ATI OHCI root hub" rev
> 1.00/1.00 addr 1
> usb4 at ohci3: USB revision 1.0
> uhub4 at usb4 configuration 1 interface 0 "ATI OHCI root hub" rev
> 1.00/1.00 addr 1
> usb5 at ohci4: USB revision 1.0
> uhub5 at usb5 configuration 1 interface 0 "ATI OHCI root hub" rev
> 1.00/1.00 addr 1
> isa0 at pcib0
> isadma0 at isa0
> fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
> com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> pckbc0 at isa0 port 0x60/5 irq 1 irq 12
> pckbd0 at pckbc0 (kbd slot)
> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> lpt0 at isa0 port 0x378/4 irq 7
> it0 at isa0 port 0x2e/2: IT8718F rev 5, EC port 0x228
> vmm0 at mainbus0: SVM/RVI
> vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> root on sd1a (f0dd5c5b4051779c.a) swap on sd1b dump on sd1b
> 
> 
> 
> 
> 
> >
> 

Reply via email to