Re: cvs commit: src/sys/kern kern_mtxpool.c src/sys/sys kernel.h src/sys/vm vm_fault.c vm_glue.c vm_map.c vm_map.h vm_pageout.c vm_zone.c

2002-03-17 Thread Matthew Dillon
icult, which is why I am suggesting that it simply be made into an exclusive lock in -current. -Matt Matthew Dillon <[EMAIL PROTECTED]> :--- Matthew Dillon <[EMA

Re: cvs commit: src/sys/kern kern_mtxpool.c src/sys/sys kernel.hsrc/sys/vm vm_fault.c vm_glue.c vm_map.c vm_map.h vm_pageout.c vm_zone.c

2002-03-17 Thread Matthew Dillon
I have no idea what the frig you guys are doing in vm_map.c. I would recommend that all the changes be backed out. Then I would recommend that the following be done: * change the lockmgr vm_map lock to be exclusive-only * test & commit * change the lockmgr vm

Re: malloc() and the stock Perl in -CURRENT (and -STABLE)

2002-03-14 Thread Matthew Dillon
:> mcopymap(from, to, length, flags) : :I'm not sure you want to copy it.. :I mean you want the dta di disappear from the old address. :It's more a "movepages()" MAP_MOVE|MAP_SHARED -Matt :> :> flags: :> :> MAP_SHARED share the sa

Re: malloc() and the stock Perl in -CURRENT (and -STABLE)

2002-03-14 Thread Matthew Dillon
write, as if you fork()d and the parent was the original area and the child is the new area. But I'm not volunteering. -Matt Matt

Re: malloc() and the stock Perl in -CURRENT (and -STABLE)

2002-03-14 Thread Matthew Dillon
e mmap manual page describes this in detail. MADV_FREE can be used in liu of munmap() but phkmalloc does not use it quite this way, phkmalloc will still free the page when the cache is blown out. -Matt

Re: malloc() and the stock Perl in -CURRENT (and -STABLE)

2002-03-13 Thread Matthew Dillon
by a factor of 15 to 25. -Matt Matthew Dillon <[EMAIL PROTECTED]> #include #include #include int main(int ac, char **av) { char *ptr = NULL; int i; for (

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-08 Thread Matthew Dillon
or the fast-interrupt-restart case either. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-08 Thread Matthew Dillon
:On 08-Mar-02 Matthew Dillon wrote: :> :>:I agree that the use of cpu_critical_enter/exit could use cleaning up. :>:Can you give an example of where critical_enter is used improperly? :>:You mean in fork_exit? Your changes to cpu_switch solve that problem :>:with critical_exit a

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-08 Thread Matthew Dillon
interrupt it should be able to handle a fast-unpend. If it doesn't work then it's almost certainly a simple fix to adjust the fake trap frame which can be done post-commit. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-07 Thread Matthew Dillon
:Perhaps that part of the update could be considered "cosmetic", and :thus be done as a separate update -- just so people can tell which :lines are cosmetic changes and which ones are substantive. That is :more work for you, but it makes it easier on reviewers, and it is :certainly consistent wi

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-07 Thread Matthew Dillon
pper in the least. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-07 Thread Matthew Dillon
e. Big fucking deal! -Matt Matthew Dillon <[EMAIL PROTECTED]> :I don't pretend to understand all the issues here, but I think it's :important to recognize that there have been

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-07 Thread Matthew Dillon
REASON to keep a forced split and plenty of reasons to move it to MD. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-07 Thread Matthew Dillon
on. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-07 Thread Matthew Dillon
: :In otherwords. You acted unilaterally. You seem to be making my :arguments for me. Again. Thanks! No, I am not acting unilaterally, but neither do I feel it is appropriate to be told to wait indefinitely (and I am STILL waiting by the way!). When I commit something it isn't set

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-07 Thread Matthew Dillon
you believe it does. Not a single person has been able to supply a single fact showing how it interferes so significantly with any other work that it must not go in at any cost, and that really pisses the hell out of me. I will repeat: This is a damn good patch. I want to see

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-07 Thread Matthew Dillon
a bit better, uses the new flexibility to implement a better backend for I386, and fixes a couple of nasty bugs to boot. It's important to me but I don't see how it could possibly have any adverse effect on the project and, frankly, I don't see why a

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-06 Thread Matthew Dillon
:My 2 cents? Work with John to get the APIs that affect this particular :code stable. That means discussion and perhaps that discussion will :take some time (if this blow-up hadn't occurred the discussion :would already be over now ;-). Once the APIs are in place, commit your :code in a format

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-06 Thread Matthew Dillon
;t ignore it or assume that I am some beginner who's just throwing random commits in and destabilizing the tree. I have gone to great lengths to do the precise opposite of that. -Matt

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-06 Thread Matthew Dillon
-Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: buildworld problems, undefined reference to '__ntohl' and'__htonl'

2002-03-06 Thread Matthew Dillon
I think it may just be my-bad. The kernel source got out of sync with the main tree. I just cvs updated the whole smelly pot and buildworld works just fine. Sorry for the false alarm! -Matt : :At 1:15 PM -0800 3/6/02, Matthew

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-06 Thread Matthew Dillon
27;t consider it all that significant and I will be happy to do it in the stage-2 commit. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

buildworld problems, undefined reference to '__ntohl' and '__htonl'

2002-03-06 Thread Matthew Dillon
This has been broken for several days now, maybe longer. It would be nice if whoever broke it would fix it. -Matt Matthew Dillon <[EMAIL PROTECTED]> cc -no

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-05 Thread Matthew Dillon
: :In message <[EMAIL PROTECTED]>, Matthew Dillon wri :tes: : :>That's the crux of the situation, John. I do not believe you have :>the right to hold this work off, at least not based on any of the :>explanations you have given so far. : :Why don't you for

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-03-05 Thread Matthew Dillon
t not based on any of the explanations you have given so far. -Matt Matthew Dillon <[EMAIL PROTECTED]> :-- : :John Baldwin <[EMAIL PROTECTED]> <>< http://www.FreeB

Re: 5.0-CURRENT makebuild world fails

2002-03-04 Thread Matthew Dillon
s declared on the stack (which to my horror I actually use sometimes) or dynamic braced auto initializers (which I don't). It would be best to cleanup instances of these when we come across them. -Matt

Re: more -current testers

2002-03-01 Thread Matthew Dillon
-Matt Matthew Dillon <[EMAIL PROTECTED]> :On Fri, 1 Mar 2002, Glenn Gombert wrote: : :>I have spent several months figuring how to do diskless mounts for :> test kernels, run debuggers from serial terminals and do remote kernel

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-02-28 Thread Matthew Dillon
:> :>I strongly disagree. I have yet to see any technical description of :>this so-called overall design that shows any incompatibility, and what :>I decide to do with my time is my business. : :Matt, : :That particular protest is rather hollow, considering that you were :one of the f

Re: you broke current in some weird way... etc

2002-02-28 Thread Matthew Dillon
While I haven't specifically tested this patch it looks reasonable to me. Are you going to do an engineering/commit cycle with it? -Matt Matthew Dillon &l

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-02-28 Thread Matthew Dillon
: : :On 28-Feb-02 Matthew Dillon wrote: :> Not to put too fine a point on it, but, I don't see how this can :> possibly justify preventing me from committing my critical_*() stuff. :> You've just stated publically that your preemption stuff is unusable :>

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-02-28 Thread Matthew Dillon
ent commit. -Matt Matthew Dillon <[EMAIL PROTECTED]> :> :> Preemptive kernels don't even make it out of single user mode for SMP machines, :> ok? We aren't talking minor breakage here

Re: you broke current in some weird way... etc

2002-02-27 Thread Matthew Dillon
:On Wed, Feb 27, 2002 at 09:33:48AM -0800, Matthew Dillon wrote: :> I'm just going to use this opportunity to plug the concept of tempora= :ry :> sysctl-instrumentation for a commit like this. =20 : :Any thoughts on having a root oid for sysctl oids like this, so they'r

Re: controversial fix or some errors breaking LINT

2002-02-27 Thread Matthew Dillon
: :ok so I leave it to other people to fix LINT :I'm not going near it any more It's the responsibility of whoever added -Werror to the default compile to unbreak the tree, either by fixing the problem or by backing out his commit. -Matt To U

Re: controversial fix or some errors breaking LINT

2002-02-27 Thread Matthew Dillon
the casts. It reminds us that there is something funny going on. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: you broke current in some weird way... etc

2002-02-27 Thread Matthew Dillon
:Matthew Dillon wrote: :> :date: 2002/02/27 09:51:32; author: peter; state: Exp; lines: +245 -191 :> :Back out all the pmap related stuff I've touched over the last few days. :> :There is some unresolved badness that has been eluding me, particularly :> :affecting uni

Re: you broke current in some weird way... etc

2002-02-27 Thread Matthew Dillon
:date: 2002/02/27 09:51:32; author: peter; state: Exp; lines: +245 -191 :Back out all the pmap related stuff I've touched over the last few days. :There is some unresolved badness that has been eluding me, particularly :affecting uniprocessor kernels. Turning off PG_G helped (which is a bad :s

Re: Discussion of guidelines for additional version control

2002-02-27 Thread Matthew Dillon
My general opinion is that a developer should not claim ownership of anything, it should simply be apparent from the traffic the developer posts to the public lists, discussion, and his commits. This implies that the developer is only actively working on one thing at a time, a

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-02-26 Thread Matthew Dillon
critical_*() available to the MI code) when the existing critical_*() API will do the job just fine. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-02-26 Thread Matthew Dillon
mption then the hacks you've thrown together! -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-02-25 Thread Matthew Dillon
followup cleanup commit, not quite, but maybe the one after. It puts us on the right road. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL

Re: Patch for critical_enter()/critical_exit() & interrupt assem

2002-02-25 Thread Matthew Dillon
revent me from contributing to the SMP work in -current for a forth time because it doesn't exactly match your dream or N-month-old stale patches you might have sitting around in P4. -Matt Matthew Dillon

Re: RE: Success! critical_enter()/critical_exit() revamp (was Re: m

2002-02-25 Thread Matthew Dillon
: : :On 24-Feb-02 Matthew Dillon wrote: :> Apart from all the assembly coding, there were two serious issues. :> fork_exit() assumes that interrupts are hard-disabled on entry. I :> readjusted the code such that the trampoline assembly initialized :> the td_critnest

Re: -current hangs with SMP enabled

2002-02-25 Thread Matthew Dillon
:> Just as a data point, I've been running -current on a 2xCPU SMP :> system (DELL2550) for a few weeks and it's always booted fine. :> :> For the last few months I have noticed occassional freezes occuring :> at odd times long after boot. I have no idea why it happens. : :Your

Re: Patch for critical_enter()/critical_exit() & interrupt assembly revamp, please review!

2002-02-25 Thread Matthew Dillon
and forth. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: Patch for critical_enter()/critical_exit() & interrupt assemblyrevamp, please review!

2002-02-25 Thread Matthew Dillon
fork_exit() has no business making those kinds of assumptions). For the moment I'm not going to worry about it. I'll just keep the cpu_critical_*() API intact for i386 for now. -Matt Matt

Re: Patch for critical_enter()/critical_exit() & interrupt assemblyrevamp, please review!

2002-02-25 Thread Matthew Dillon
: :On Mon, 25 Feb 2002, Matthew Dillon wrote: : :> Unless an unforseen problem arises, I am going to commit this tomorrow :> and then start working on a cleanup patch. I have decided to : :Please wait for jhb's opinion on it. He seems to be offline again. :I think he ha

Re: Patch for critical_enter()/critical_exit() & interrupt assemblyrevamp, please review!

2002-02-25 Thread Matthew Dillon
Unless an unforseen problem arises, I am going to commit this tomorrow and then start working on a cleanup patch. I have decided to keep the sysctl instrumentation intact for the moment so people who experience panics or lockups can turn it off to see whether that was the cau

Re: Success! critical_enter()/critical_exit() revamp (was Re:malloc_bucket() idea (was Re: How to fix malloc.))

2002-02-25 Thread Matthew Dillon
sed as an interlock even more then it is being used to cover scheduler queueing operations. I think the direction I would take would be to try to address sched_lock's use rather then try to special case interrupts. -Matt

Re: -current hangs with SMP enabled

2002-02-24 Thread Matthew Dillon
:... :> stuff (it was not used on that machine) and it booted fine, I think that :> might just cure the SMP problem you are seeing too. : :Thanks for the suggestion. : :Unfortunately it still hangs with SMP enabled and the ATA drivers commented :out of the GENERIC config. : :Ken :-- :Kenneth

Re: critical_enter()/critical_exit() overheads in an SMP system

2002-02-24 Thread Matthew Dillon
:pid 214 guid/sec 687816Two TU's running, old critical_*() :pid 214 guid/sec 6876321.454 uS/call :pid 214 guid/sec 687857 :pid 214 guid/sec 687887 :pid 214 guid/sec 667454new critical_*() :pid 214 guid/sec 6675621.496 uS/call

Re: Patch for critical_enter()/critical_exit() & interrupt assembly revamp, please review!

2002-02-24 Thread Matthew Dillon
s that assumption at the moment but the commit will only correct the assumption for I386. It will not change anything for the other architectures (i.e. the assumption can still be made for the other architectures). -Matt

critical_enter()/critical_exit() overheads in an SMP system

2002-02-24 Thread Matthew Dillon
Ok, I've done a more comprehensive test. TU = getuid() syscall test. This is on a 2xCPU SMP box. With one process running the syscall is 34 nS faster with the new critical_*(). With two processes running the syscall is 41 nS faster with the new critical_*(). So, not 3

Re: Patch for critical_enter()/critical_exit() & interrupt assembly revamp, please review!

2002-02-24 Thread Matthew Dillon
:Removing cli and sti from the critical functions saves us 300 ns on I'm going to make a correction here... I didn't realize I had WITNESS turned on. 300ns of savings makes a lot of sense when WITNESS is turned on because witness manipulates a number of spin locks. I am goi

Re: Patch for critical_enter()/critical_exit() & interrupt assembly revamp, please review!

2002-02-24 Thread Matthew Dillon
n). But for I386 I suppose I could just rename them to intr_disable() and intr_restore(). I don't understand your comment about functionality, they work just fine. It's just the name that needs changing. -Matt

Re: Success! critical_enter()/critical_exit() revamp (was Re:malloc_bucket() idea (was Re: How to fix malloc.))

2002-02-24 Thread Matthew Dillon
pt to a cpu that is not in a critical section ... ... else set bit in local ipending mask. } } else { ... take or schedule interrupt ... } } -Matt

Re: Patch for critical_enter()/critical_exit() & interrupt assembly revamp, please review!

2002-02-24 Thread Matthew Dillon
was cleaner to mask level interrupts and throw everything into the same ipending hopper. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: Patch for critical_enter()/critical_exit() & interrupt assemblyrevamp, please review!

2002-02-24 Thread Matthew Dillon
: :On Sun, 24 Feb 2002, Matthew Dillon wrote: : :> * debug.critical_mode sysctl. This will not be in the final commit, :> nor will any of the code that tests the variable. The final commit :> will use code as if the critical_mode were '1'. : :Won't it

Patch for critical_enter()/critical_exit() & interrupt assembly revamp, please review!

2002-02-24 Thread Matthew Dillon
NOTES: I would like to thank Bruce for supplying the sample code that allowed me to do this in a day instead of several days. * debug.critical_mode sysctl. This will not be in the final commit, nor will any of the code that tests the variable. The final commit will use

Success! critical_enter()/critical_exit() revamp (was Re: malloc_bucket() idea (was Re: How to fix malloc.))

2002-02-24 Thread Matthew Dillon
I'm going to wait until tomorrow before posting it. I have a bunch of cleanup to do. Bruce, your sys.dif was *invaluable*! It would have taken me a lot longer to figure out the interrupt disablement requirement around the icu_lock, and the statclock and hardclock forwarding

Re: malloc_bucket() idea (was Re: How to fix malloc.)

2002-02-23 Thread Matthew Dillon
pt is pending' flag for critical_exit() to test. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: malloc_bucket() idea (was Re: How to fix malloc.)

2002-02-23 Thread Matthew Dillon
: :On Sat, 23 Feb 2002, Matthew Dillon wrote: : :> :It's too messy and unfinished (doesn't work right for SMP or irqs >= 16), :> :and dificult to untangle from my other patches. I posted these partial :> :ones to attempt to inhibit() recomplication of the current crit

Re: malloc_bucket() idea (was Re: How to fix malloc.)

2002-02-23 Thread Matthew Dillon
a little further along. How should I deal with fast interrupts? -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: malloc_bucket() idea (was Re: How to fix malloc.)

2002-02-23 Thread Matthew Dillon
: :On Sat, 23 Feb 2002, Matthew Dillon wrote: : :> :My version of it does less than this. I only use it to help implement :> :spinlocks. :> :> You put together infrastructure to deal with pending pci interrupts? :> If so, then why not commit it (or at least commit a v

Re: malloc_bucket() idea (was Re: How to fix malloc.)

2002-02-23 Thread Matthew Dillon
Bruce, I've looked at the vector assembly and it looks like cleaning up critical_enter() and critical_exit() for i386 ought to be simple. If you have a complete patch set I would like to see it posted for review or comitted, or if you don't want to deal with the commit I woul

Re: malloc_bucket() idea (was Re: How to fix malloc.)

2002-02-23 Thread Matthew Dillon
: :* Matthew Dillon <[EMAIL PROTECTED]> [020223 14:43] wrote: :> This is approximately what I am thinking. Note that this gives us the :> flexibility to create a larger infrastructure around the bucket cache, :> such as implement per-cpu caches and so on and so fort

Re: malloc_bucket() idea (was Re: How to fix malloc.)

2002-02-23 Thread Matthew Dillon
cture). -Matt Matthew Dillon <[EMAIL PROTECTED]> :Index: kern_switch.c :=== :RCS file: /home/ncvs/src/sys/kern/kern_switch.c,v :retrievi

Re: malloc_bucket() idea (was Re: How to fix malloc.)

2002-02-23 Thread Matthew Dillon
have to do is check the critical nesting count from the interrupt code and set the interrupts-disabled bit in the returned (supervisor mode) frame. critical_enter() and critical_exit() would then be nearly perfect. -Matt

malloc_bucket() idea (was Re: How to fix malloc.)

2002-02-23 Thread Matthew Dillon
This is approximately what I am thinking. Note that this gives us the flexibility to create a larger infrastructure around the bucket cache, such as implement per-cpu caches and so on and so forth. What I have here is the minimal implementation.

Re: How to fix malloc.

2002-02-23 Thread Matthew Dillon
ing it via malloc(). What do people think? -Matt Matthew Dillon <[EMAIL PROTECTED]> :By the way, since "MAXALLOCSAVE" is some multiple of PAGE_SIZE, we :really don't have to worry about it when

Re: pgrp/session patch

2002-02-23 Thread Matthew Dillon
r the MALLOC. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: RE: First (easy) td_ucred patch

2002-02-22 Thread Matthew Dillon
MP-related bug, good fucking luck find it! How long do you want it to take to get a stable 5.x release? Because the way you are going it isn't going to happen until we hit 5.3 or so. -Matt Matthe

Re: RE: First (easy) td_ucred patch

2002-02-22 Thread Matthew Dillon
:> I'm currently testing the following patch whcih is a subset of the td_ucred :> changes. It involves no API changes, but only contains 2 basic changes: :> :> 1) We still need Giant when doing the crhold() to set td_ucred in :>cred_update_thread(). This is an old bug that is my fault. I k

Re: changes to rc.diskless*

2002-02-21 Thread Matthew Dillon
:The existing very bazaar and local policy in rc.diskless1 is Just Wrong; :and looks like no other Unix diskless configuration I've ever seen. I :plan on committing this patch to negate this. : :The use of an MFS /var should also be settable. Otherwise installing :ports(packages) is just a tota

Re: Patch to improve mutex collision performance

2002-02-20 Thread Matthew Dillon
:Matthew Dillon wrote: :> I'm not interested in using P4. I think it's a mistake. That is, I :> think it is being severely overused. At the very least it is preventing :> me from comitting simple things to -current because as far as I can tell :> wh

Re: Patch to improve mutex collision performance

2002-02-20 Thread Matthew Dillon
:On Monday, 18 February 2002 at 15:38:07 -0500, Jake Burkholder wrote: :> Apparently, On Mon, Feb 18, 2002 at 11:51:44AM -0800, :> Matthew Dillon said words to the effect of; :>> I'm fairly sure JHB does not have a patch to address this but, please, :>> b

Re: RE: Patch to improve mutex collision performance

2002-02-20 Thread Matthew Dillon
This sounds better but why do we need a 'pause' at all? I don't think spinning in this case will have any effect on power consumption. -Matt

Re: Patch sets to date and timing tests with Giant out of userret.

2002-02-19 Thread Matthew Dillon
t bring up a potential issue in the interrupt-thread-borrowing code. The ucred design is very clean. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscrib

Re: Patch sets to date and timing tests with Giant out of userret.

2002-02-18 Thread Matthew Dillon
. you see where this is leading? -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: Patch sets to date and timing tests with Giant out of userret.

2002-02-18 Thread Matthew Dillon
: :So, John's last few months of work is junk then, is it? : :Cheers, :-Peter :-- :Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED] I'll tell you what is junk... patches for things like getuid() sitting in P4 (whether instrumented or not). That's junk. I'll tell

Re: Patch sets to date and timing tests with Giant out of userret.

2002-02-18 Thread Matthew Dillon
:> -mtx_lock(&Giant); :> -td->td_retval[0] = p->p_ucred->cr_ruid; :> +s = mtx_lock_giant(kern_giant_ucred); :> +td->td_retval[0] = td->td_ucred->cr_ruid; :> #if defined(COMPAT_43) || defined(COMPAT_SUNOS) :> -td->td_retval[1] = p->p_ucred->cr_uid; :> +td->td_retval[1] = td

Re: Patch to improve mutex collision performance

2002-02-18 Thread Matthew Dillon
It's as though procrunnable() is broken. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: Patch to improve mutex collision performance

2002-02-18 Thread Matthew Dillon
2 #16 0xc019c0e4 in fork_exit (callout=0xc019cae0 , arg=0xc5b87400, frame=0xe04b8d48) at /FreeBSD/FreeBSD-current/src/sys/kern/kern_fork.c:787 And I'm not sure why. -Matt Matthew Dillon

Re: Patch to improve mutex collision performance

2002-02-18 Thread Matthew Dillon
I should be checking for critnest > 1. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-cur

Re: Patch to improve mutex collision performance

2002-02-18 Thread Matthew Dillon
I am doing). -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: Patch to improve mutex collision performance

2002-02-18 Thread Matthew Dillon
: :I can't see any major problem with this but I can't help thinking that :there must be one.. on UP the question is: "who is going to :release the lock if no-one is runnable?" An interrupt, of course. Wakeups don't happen out of thin air! This is true of 1.x, 2.x, 3.x, 4.x, 5.x, UP, a

Patch sets to date and timing tests with Giant out of userret.

2002-02-18 Thread Matthew Dillon
Here are my giant related patches to date. These are NOT all commit candidates. Some are just hacks to test Giant removal. Julian is responsible for the td_ucred persistance stuff. The hack in userret() is just a hack to remove Giant when no signals are present in order to

Re: Patch to improve mutex collision performance

2002-02-18 Thread Matthew Dillon
: "Are you out of your mind?". I'm fairly sure JHB does not have a patch to address this but, please, be my guest and check P4. -Matt Matthew Dillon

Patch to improve mutex collision performance

2002-02-18 Thread Matthew Dillon
While testing some Giant removal stuff I noticed that my current system sometimes got into an extremely non-optimal flip-flop situation between two processes contesting Giant on an SMP system which halved the syscall performance in the test. In my getuid test, for example, wit

Re: ACPI patch (was Re: 'microuptime() went backwards ...' using ACPI...)

2002-02-17 Thread Matthew Dillon
comitted to the tree relatively soon. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: ACPI timer is screwed... (was Re: 'microuptime() went backwards ...' using ACPI timer. Shouldn't that be impossible? )

2002-02-17 Thread Matthew Dillon
:Sounds like we need to smack whoever made your chipset as well. Intel :learned their lesson (finally) with later revisions of the PIIX4. I'm :guessing you're running this against a ServerWorks system. atapci0: port 0x8b0-0x8bf at device 15.1 on pci0 Uh huh. It might be possible

ACPI patch (was Re: 'microuptime() went backwards ...' using ACPI...)

2002-02-17 Thread Matthew Dillon
Ok, here is a patch that executes a brute-force solution to the asynchronous counter problem. Basically it figures out a mask and then the timer code loops until two masked reads yield the same value, guarenteeing that we haven't caught the timer during a carry. On my sys

ACPI timer is screwed... (was Re: 'microuptime() went backwards ...' using ACPI timer. Shouldn't that be impossible? )

2002-02-17 Thread Matthew Dillon
MISREAD 39f3161d 39f3161a 39f3161c -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: 'microuptime() went backwards ...' using ACPI timer. Shouldn't that be impossible?

2002-02-17 Thread Matthew Dillon
three. I'll investigate further. -Matt Matthew Dillon <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Re: Success! Sorta! (was Re: 'microuptime() went backwards ...' using ACPI timer. Shouldn't that be impossible? )

2002-02-17 Thread Matthew Dillon
Whoop! I take it back. I'm still getting the errors: microuptime() went backwards (458.168990 -> 458.168882) microuptime() went backwards (578.609995 -> 577.929801) microuptime() went backwards (748.912755 -> 748.237402) microuptime() went backwards (775.159625 -> 775.159612) I also th

Success! Sorta! (was Re: 'microuptime() went backwards ...' using ACPI timer. Shouldn't that be impossible? )

2002-02-17 Thread Matthew Dillon
:Bruce's patch amounts to a retry if the current timecounter was updated :while we were calculating time. It is a bit more defensive than it :needs to be and generally pessimizes the timecounters elegant lockless :design a fair bit, but it is still much better than slamming a mutex :around the en

Re: 'microuptime() went backwards ...' using ACPI timer. Shouldn'tthat be impossible?

2002-02-17 Thread Matthew Dillon
Ok, I've looked at the code more carefully and I understand how this works now. However, it is not enough in an SMP environment. You need a generation count in the timecounter structure and you also need a synchronization point when you switch time counters or a process runni

Re: 'microuptime() went backwards ...' using ACPI timer. Shouldn'tthat be impossible?

2002-02-17 Thread Matthew Dillon
-Matt Matthew Dillon <[EMAIL PROTECTED]> :%%% :Index: kern_tc.c :=== :RCS file: /home/ncvs/src/sys/kern/kern_tc.c,v :retrieving revision 1.113 :diff -c

'microuptime() went backwards ...' using ACPI timer. Shouldn't that be impossible?

2002-02-16 Thread Matthew Dillon
acpi_pcib0: on acpi0 ... Question: How can this be occuring at all? Isn't the ACPI counter a 32 bit counter that does not have the rollover problems that the 8254 timer has? -Matt Matthew Dillon

tentitive ucred mutex cleanup patch, MATT's version (was Re: ucred holding patch, BDE version)

2002-02-16 Thread Matthew Dillon
Please review this patch. I haven't looked at BDE's patch but this was so simple I decided to just go do it. There are many situations where the allocation of a system structure can be safely done with Giant, but deallocation occurs dangerously deep in the call stack. For t

Re: usbdevs breaks world

2002-02-16 Thread Matthew Dillon
:Recent, USB change break world. The following patch :fixes the broken world, but not be best patch. : :-- :Steve : :--- usbdevs.c.orig Sat Feb 16 12:19:10 2002 :+++ usbdevs.c Sat Feb 16 12:26:41 2002 :@@ -88,8 +88,17 @@ : done[a] = 1; : printf("addr %d: ", di.addr); :...

<    1   2   3   4   5   6   7   8   9   10   >