:...
:tps = 9027.509551 (including connections establishing)
:tps = 9040.981235 (excluding connections establishing)
:Elapsed time: 64.54 seconds.
:
:-- Adaptive mutex spin
:
:Total% Count Time/ms Lock Caller
:-- --- - -- ---
-Matt
Matthew Dillon
:Hi,
:
:lwkt_domsg() comment reads like this,
:
:...
:Should the comment read instead "Request synchronous completion [...]" ?
:
:Thanks
:Nuno
Yes, the comment is wrong.
-Matt
Matthew Dillon
ith simple cpu-bound
for(;;); loops.
-Matt
Matthew Dillon
:I now used the tmpfs (I copied the sources on a tmpfs and compiled there)
:and the results are the same. It seems that all processes aren't so CPU
:intensive...they run for a very short period of time.
:
:Mihai
There shouldn't be much of any I/O waiting even with a hard drive
for compilat
I had a little fun and ran the branch on monster.dragonflybsd.org,
which is our 48-core opteron.
4 physical chips x 12-core per chip, no HT. 48 cpu cores total.
http://apollo.backplane.com/DFlyMisc/smt.txt
It made a valient effort but got a bit confused.
I can run anyth
-Matt
Matthew Dillon
r you.
-Matt
Matthew Dillon
AMD has officially posted the errata for the cpu bug I found! It is
errata #721 and can be found here:
http://support.amd.com/us/Processor_TechDocs/41322_10h_Rev_Gd.pdf
The errata includes a MSR workaround. I tested the MSR workaround and
it does appear to fix my test case,
is year is on HAMMER2.
-Matt
Matthew Dillon
looks like there
will be a MSR fix for it on the older cpus. We will all have to wait
for AMD to finalize and publish the errata, now.
-Matt
Matthew Dillon
:Hi,
:
:The problem is "dfbsd should port over the ath driver." ;-)
:
:The actual cause is likely radio related - the AR9285 code that Rui
:initially ported over was based on what was in ath9k and it was
:suitably unfinished. (So it's not Rui's fault, he did a great job with
:what he had.) I subse
AMD has confirmed the cpu bug that I analyzed. I am going to quote
the first paragraph. They gave me some more info and will be updating
their revision guide. To avoid any confusion (so they can finalize their
wording for the entry they will be putting in the revision guide) I'm
For me the question is whether we can say a particular X.0 release is
significantly memorable or not, and why (SMP). I think this one will
be memorable.
We only do two releases a year. If we did four (which I am NOT
suggesting) then I might bump the major version every year a
Well, the precedent is basically that all the 'hard' SMP concurrency work
is now done, and we're finally seeing the fruits of our labor in
performance numbers. That's the idea anyhow.
-Matt
Hello everyone! First, I apologize for the aborted 2.12 release. We
got as far as rolling it but I decided to make a real push to try to
fix the occassional random seg-fault bug that we were still seeing
on 64-bit at the time.
The seg-fault issue has now been resolved, I post
urn Address Stack (RAS)).
Possible cause if we ignore the 32<->64 bit mode transition
requirement in the errata.
- Errata 82 Certain Faults On Far Transfer Instructions In
64-Bit Mode Save Incorrect RIP.
Unlikely cause as one test case found that no exception,
fault, or interrupt occured for 8ms prior to the failure.
(unless a SYSCALL/SYSRET is responsible, which is also
possible but unlikely).
RESOLUTION OF THE BUG
* The bug still occurs if I place the MFENCE+NOP at the beginning
of the function.
* Placing the MFENCE+NOP at the end of the function causes the
bug to stop occuring.
The bug disappears completely in that case with testing over
2 days.
* Placing just a NOP at the end of the function causes the
bug to stop occuring. As of this writing this is still undergoing
longer tests.
-Matt
Matthew Dillon
potentially be used down the line to manage
super-page page allocations but for now it is just being used to
manage a DMA address space reserve.
-Matt
Matthew Dillon
should be considerably more responsive now, with fewer
hicups.
-Matt
Matthew Dillon
:Something like:
:--gd->gd_curthread->td_critcount;
:for (;;) {
:if (spin->counta == 1)
:continue;
:
:++gd->gd_curthread->td_critcount;
:cpu_ccfence();
:if (atomic_swap_int(&spin->counta, 1) == 0
, or
they could upgrade the a more recent stable to get fully supported
binary packages. Seems reasonable to me.
-Matt
Matthew Dillon
:Here's an example going on right n
I'm trying to figure out the exact logistics of how this would work and,
in particular, how it would reduce our development and build chores.
In all cases my presumption is that we release a -current every 6
months just as we do now (otherwise things won't stay fresh and we
won
Hmm. I still don't quite understand how the long-term release would
work Do we still do twice-a-year stable releases, but use the same
pkgsrc as -current for them? Or do we do away with the 6-month schedule
entirely?
We haven't been very good at MFCing stuff to stable. Ther
table.
-Matt
Matthew Dillon
Ok, after much experimentation I've figured out what is going on.
First, why is UFS skewed towards writing to the extreme detriment of
reads while HAMMER is skewed towards reading to the extreme detriment
of writes? In a word: flushing meta-data out in UFS doesn't require
as m
with a SSD) is if the FreeBSD
test used a similar setup w/ZFS.
-Matt
Matthew Dillon
:I've done a new set of tests on FreeBSD 8.2 and DragonFly 2.10.
:kern.physmem was set to 4GB and I used 150 iterations just to be sure.
:
:Someone sent me instructions on how to enable the AHCI driver on FreeBSD, so
:we will get a less meaningless comparison for the single SATA drive case.
:
:Thi
meaningful data ?
:
:--
:Francois Tigeot
systat -vm 1 breaks the I/O down into reads and writes, but of course
that's a visual view rather than a table so it can't really be dumped
to a file.
-Matt
Matthew Dillon
Well, the kernel memory allocator itself doesn't use swap, so it is
more likely a runaway user program (?) and not the kernel. If tmpfs
is being used it could be something filling up the tmpfs mount, including
possibly a process with a descriptor open on an unlinked file. That's
degrade that much,
though it's a bit hard to tell with iostat because it doesn't print
the disk busy %.
-Matt
Matthew Dillon
ck for the earlier tests
since blockbench didn't run long enough (with default options) to use
up 32G of ram.
-Matt
Matthew Dillon
:On Mon, Jul 11, 2011 at 12:37:08PM -0700, Matthew Dillon wrote:
:>
:> There's something very basic wrong. How much memory does the machine
:> have?
:
:32GB. I didn't think too much memory could be a liability.
It will mostly be cached, at least until the sy
:> writes: 600
:> reads :178372
:
:For good measure, I did the same test with UFS1+softupdates.
:The results are much lower:
:
: writes: 282
: reads:20522
:
:there was very little disk activity and blogbench was almost constantly
:sleeping (process in nanslp stat
s going on.
-Matt
Matthew Dillon
:Disk performance should normally go up as the number of disk used increases
:(particularly for RAID0 setups), and this is the case on FreeBSD.
:Howewer, DragonFly seems to reach a plateau. The performance curve for writes
:is especially flat.
:
:FreeBSD performance numbers for the single disk test
Well, the problem with hardlinks in HAMMER2 is a bit different than
tagging files and directories with additional meta-data.
Meta-data is actually very easy to do from a cache coherency standpoint,
but difficult to reliably copy and archive (particularly across
filesystem types
:Hey Matt,
:
:Since you're doing this huge redesign, I was wondering if it would be
:feasible to incorporate a "virtual folder" capability into hammer? It
:wouldn't have to be as elaborate as, say, MacOS smart folders, but even just
:the ability to attach labels or tags to files and folders and h
:On Wed, 11 May 2011, Matthew Dillon wrote:
:
:> In addition, HAMMER2 is going to have two serious restrictions relative
:> to other filesystems. (1) HAMMER2 will not support hardlinks. And
:> (2) HAMMER2 has no physical way to resolve '..' and will depend on t
x27;s critical paths.
-Matt
Matthew Dillon
-Matt
Matthew Dillon
p.s. if someone wants to enhance powerd a bit we need it to 'restore'
the system to maximal settings if it is killed normally, or to at
least restore the userland scheduler mask to -1 (use all cpus). Very
minor adjustments but I thought I'd throw it out there so I don't have
to
Also try the emergency interrupt polling code. If the usb keyboard
works with the emergency poller but doesn't work otherwise then we
will know that it is an interrupt related issue. If that turns out
to be the only solution then you would also probably have to increase
the po
assignments depending on which port the keyboard is
plugged into.
-Matt
Matthew Dillon
:Hi,
:
:I'm a DFBSD lurker and I certainly wouldn't profess to understand
:everything in that document, but a comp sci degree means I just about
:followed :)
:
:I noticed you had decided not to store the versioned inodes in the
:B-Tree, which I believe is what HAMMER 1 did. I was curious why that
-Matt
Matthew Dillon
No, I don't think type-munging for compatibility will work. We should
stick to the proper types.
The ultimate solution to this sort of thing, e.g. for sysctls, would be
to pass data in and out using ascii strings, but doing so would probably
break a lot of pkgsrc and require u
I think it's best to bump libc and also provide compat functions
for the syscalls that have changed. struct ipc_perm also needs to
be updated (ours is still using unsigned shorts for things like the
uid).
I'll help finish things up at the sys_/kern_ separation stage if Jan
th
the AHCI and SILI drivers.
-Matt
Matthew Dillon
:Please pull from the latest master:
:2c61a93fa6fa30927436688cd4c9ea56d22fabdf
:
:It may fix the Zotac mobo.
:
:Best Regards,
:sephe
No go, using the latest master unmodified. I still need to
disable a bit of acpi on the Zoac. I played around with
debug.acpi.disabled and what I need
I'm getting this whenever I try to probe the battery state on my
atom laptop now. This used to work. It now says that Battery 0 is
not present.
acpi_ec0: EcRead: failed waiting to get data
ACPI Exception: AE_NO_HARDWARE_RESPONSE, Returned by Handler for
[EmbeddedControl] (20110211/e
I'm seeing much better compatibility across the board now. Only one
of my mobos (the Zotac with its horrible BIOS) can't get its interrupts
routed properly without a line /boot/loader.conf to disable acpi's int
routing.
The rest appear to work with APIC_IO enabled (which is ou
:Hi,
:
:Should that 1 still be in that if statement or was it from debug and slipped
in?
:If it is always ORing with 1 then the if-statement will always be
:true, is this correct?
It's ok, the entire debugging block is #if 0's out. Eventually it will
be removed entirely.
the case where max_tagged_dev_openings is set to 0.
limit = (periph->sim->max_tagged_dev_openings * 2 + 1) / 3;
to
limit = periph->sim->max_tagged_dev_openings * 2 / 3 + 1;
-Matt
Matthew Dillon
:Hello,
:
:this breaks USB (daX) disks for me. After all daX disks are initialized, it
hangs after:
:
:da8 at umass-sim0 bus 0 target 0 lun 0
:da8: Fixed Direct Access SCSI-4 device
:da8: Serial Number WMAVU2232228
:da8: 40.000MB/s transfers
:da8: 1430797MB (2930272256 512 byte sectors: 255H 6
s was to use dump/restore.
-Matt
Matthew Dillon
so you would only have
to set it on /usr/src and not on every single file inside /usr/src.
-Matt
Matthew Dillon
ver worked very well even in FreeBSD.
A new unionfs would require a complete rewrite from scratch and a
new approach to recording file deletions.
-Matt
Matthew Dillon
a quota system even
if it isn't taking up 10GB of actual storage in the filesystem.
-Matt
Matthew Dillon
After playing with this a bit today I found that a large chunk of the
difference seems to be related to the caching of various structures
related to process fork()ing, such as thread and kernel stacks, vmspace
structures, process structures, and so forth.
I made a few commits to mak
I hesitate to ask how much memory was configured originally.
Certain subsystems within the buildworld build eat a huge amount of
memory. In particular, the GCC build within the buildworld has some
huge and complex files which eat a lot of memory while running and a
-j3 would potent
Matthew Dillon
The warning serves no useful purpose. It's already obvious that there
are more processes than fit on the screen, because the screen is full
of processes.
-Matt
rows on
the terminal. I dunno.
-Matt
Matthew Dillon
queue code allocate its own internal copy for each instance
that also includes the kq lists.
-Matt
Matthew Dillon
One thing I think may be a liability is the knote migration to devfs
on detach. I think it might be better to implement the knotes in devfs
only and make devices use the devfs-supplied structure(s) (probably just
dev_t, even) for managing knotes.
ldn't be possible. Other threads will see that KN_PROCESSING
is already set and not try to do anything drastic to the knote.
-Matt
Matthew Dillon
s out that nmalloc's
init code was calling pthread_set_specific() prior to allocating its
key, so it wound up using key 0.
-Matt
Matthew Dillon
:Hi all,
:
:I've recently upgraded some mail servers to DragonFly-2.8 (from 2.6).
:Since the upgrade, mail/milter-greylist has begun crashing.
:
:I have been slowly pinpointing the root cause of the crashes with the
:author of milter-greylist; they are caused by a Thread Local Storage
:behavior spe
:I think it suggests that:
: processor 0processor 1
:store A <--- 1
: :
: : later
: :..> load r1 A
:
:r1 still could be 0, since the A is still in the store buffer, while:
:processor 0processor 1
:store A <--- 1
:sfence
: :
: : later
: :..>
pete for the memory location in question.
-Matt
Matthew Dillon
-kern-changes-for-freeebsd-virtio-driver-port.patch
Yes, that would be good to bring in. The SG list stuff is also
used by the GEM (intel graphics) work.
-Matt
Matthew Dillon
subject of numerous discussions on IRC. Jan Lentfer
is keeping watch on it.
-Matt
Matthew Dillon
t-used of the three.
IPSEC is another matter. Any breakage there should be fairly easy to
fix if we can get someone to mess with it. I can mess with it myself
sometime mid-February.
-Matt
Matthew Dillon
uild, fits that bill and
processes wind up competing for the vm_token. This is still better than
competing for the mp_token, though.
-Matt
Matthew Dillon
it of work to improve MP performance is going to be
dealing with wide-ranging vm_token.
-Matt
Matthew Dillon
:Hi all,
:
:Please review the devel^2 ~ devel^5 (inclusive) at:
:http://gitweb.dragonflybsd.org/~sephe/dragonfly.git/shortlog/refs/heads/devel
:
:The modification/accessing to the udbinfo is protected by two mechanism:
:1) netisr barrier, which prevents code running in netisr from
:accessing udbinf
pmap_kenter() and pmap_qenter() enter the pages into the pmap unmanaged,
meaning it just stuffs the pte's and doesn't track and pv_entry's.
pmap_enter() enters the pages into the pmap managed.
I think that has something to do with how the pages have to be removed
later on when
:Hi all,
:
:Please review the devel^2 ~ devel^5 (inclusive) at:
:http://gitweb.dragonflybsd.org/~sephe/dragonfly.git/shortlog/refs/heads/devel
:
:The modification/accessing to the udbinfo is protected by two mechanism:
:1) netisr barrier, which prevents code running in netisr from
:accessing udbinf
. on that example my assumption is 'npages' is meant to be in bytes
and not pages.
-Matt
Matthew Dillon
I agree, I don't think it would be beneficial to spend it on adding
work for > 63 cores at this time. We have plenty to do just tuning the
system up for the 48 cores we can test on now.
Priorities for the project:
* Interrupt routing.
* SMP performance (vm_token,
ucing stalls when doing tar extractions, cpdup,
etc.
The inode reclamation pipeline has also been revisited and tuned up.
-Matt
Matthew Dillon
worst that happens is that
moused can't find the mouse, or chooses the wrong mouse.
-Matt
Matthew Dillon
tiple mbufs can reference
the same m_ext.
-Matt
Matthew Dillon
:Err, the current busdma API supports pre-allocation bounce buffer
:zones for address restrictions and alignment constraints, all of the
:network device drivers use that features (I think I converted all of
:the network drivers early 2009).
Which works fairly well on system boot but can fail
are short.
-Matt
Matthew Dillon
-Matt
Matthew Dillon
:This patch is the start of mlockall/munlockall support; it adds a
:field to each vm_map, flags, to support mlockall(MCL_FUTURE) {from
:FreeBSD} and modifies mmap() and brk() to test for that flag and wire
:in any newly ill-gotten pages. It also implements munlockall(). This
:code has been tested i
-Matt
Matthew Dillon
Matthew Dillon
that way
4.8 will not complain if you try to mount a version 5 hammer you
created on master on it.
The de-dup feature itself will not until we get better testing under
our belt.
-Matt
Matthew Dillon
de-dup is highly experimental? It needs a lot
more testing before I would consider it production-ready.
-Matt
Matthew Dillon
d recently) install a different loader.conf
on the HD.
If you are copying things manually then you have to be careful what
you copy.
-Matt
Matthew Dillon
sk load without necessarily having to resort
to striping the primary filesystem.
-Matt
Matthew Dillon
releases.
-Matt
Matthew Dillon
Ok, I'm putting my foot down. I've created two branches in our pkgsrc
git repo:
dragonfly-mastertracks master
dragonfly-2010Q3tracks pkgsrc-2010Q3
Committers: you now have access to the pkgsrcv2 git repo on crater now.
Please feel free to commit into any dragonfly
double the
time worst case.
If things are taking longer than that look for cockpit trouble
somewhere the kvm configuration, or its memory configuration,
or something else. I don't know what.
-Matt
Ok, I think the git repo is synced up now and the new script will
keep it that way with fixup commits when fromcvs/togit miss
something.
-Matt
:The very same problem happened with FreeBSD's loader under
:qemu, and probably also under real hardware with broken
:RTC BIOS functions. I fixed it in FreeBSD in r179825:
:
:http://www.secnetix.de/olli/FreeBSD/svnews/index.py?r=179825
:
:I'm not sure if the problem you're seeing with dloader is
:
at they
all use they still have a lot of linuxisms and make strange assumptions
when the system isn't linux.
-Matt
Matthew Dillon
:On 18.10.10 23:33, Matthew Dillon wrote:
:> Hmm. It looks like a CVS dollar expansion issue. The patch itself
:> is just fine but the CVS dollar expansion doesn't get mirrored
:> properly because it isn't actually in the cvs repo (it's adjusted on
:
1 - 100 of 1609 matches
Mail list logo