The NetBSD Project

CVS log for src/sys/kern/kern_timeout.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / kern

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.79 / (download) - annotate - [select for diffs], Sun Oct 8 13:23:05 2023 UTC (4 months, 3 weeks ago) by ad
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.78: +14 -4 lines
Diff to previous 1.78 (colored)

Ensure that an LWP that has taken a legitimate wakeup never produces an
error code from sleepq_block().  Then, it's possible to make cv_signal()
work as expected and only ever wake a singular LWP.

Revision 1.78 / (download) - annotate - [select for diffs], Wed Oct 4 20:29:18 2023 UTC (4 months, 4 weeks ago) by ad
Branch: MAIN
Changes since 1.77: +7 -5 lines
Diff to previous 1.77 (colored)

Eliminate l->l_biglocks.  Originally I think it had a use but these days a
local variable will do.

Revision 1.77 / (download) - annotate - [select for diffs], Sat Sep 23 18:48:04 2023 UTC (5 months, 1 week ago) by ad
Branch: MAIN
Changes since 1.76: +2 -3 lines
Diff to previous 1.76 (colored)

- Simplify how priority boost for blocking in kernel is handled.  Rather
  than setting it up at each site where we block, make it a property of
  syncobj_t.  Then, do not hang onto the priority boost until userret(),
  drop it as soon as the LWP is out of the run queue and onto a CPU.
  Holding onto it longer is of questionable benefit.

- This allows two members of lwp_t to be deleted, and mi_userret() to be
  simplified a lot (next step: trim it down to a single conditional).

- While here, constify syncobj_t and de-inline a bunch of small functions
  like lwp_lock() which turn out not to be small after all (I don't know
  why, but atomic_*_relaxed() seem to provoke a compiler shitfit above and
  beyond what volatile does).

Revision 1.73.2.1 / (download) - annotate - [select for diffs], Tue Jun 27 18:51:47 2023 UTC (8 months, 1 week ago) by martin
Branch: netbsd-10
CVS Tags: netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1
Changes since 1.73: +18 -21 lines
Diff to previous 1.73 (colored) next main 1.74 (colored)

Pull up following revision(s) (requested by pho in ticket #219):

	sys/kern/kern_timeout.c: revision 1.74
	sys/kern/kern_timeout.c: revision 1.75
	sys/kern/kern_timeout.c: revision 1.76

callout(9): Fix panic() in callout_destroy() (kern/57226)

The culprit was callout_halt(). "(c->c_flags & CALLOUT_FIRED) != 0" wasn't
the correct way to check if a callout is running. It failed to wait for a
running callout to finish in the following scenario:
1. cpu0 initializes a callout and schedules it.
2. cpu0 invokes callout_softlock() and fires the callout, setting the flag
    CALLOUT_FIRED.
3. The callout invokes callout_schedule() to re-schedule itself.
4. callout_schedule_locked() clears the flag CALLOUT_FIRED, and releases
    the lock.
5. Before the lock is re-acquired by callout_softlock(), cpu1 decides to
    destroy the callout. It first invokes callout_halt() to make sure the
    callout finishes running.
6. But since CALLOUT_FIRED has been cleared, callout_halt() thinks it's not
    running and therefore returns without invoking callout_wait().
7. cpu1 proceeds to invoke callout_destroy() while it's still running on
    cpu0. callout_destroy() detects that and panics.

callout(9): Tidy up the condition for "callout is running on another LWP"
No functional changes.

callout(9): Delete the unused member cc_cancel from struct callout_cpu
I see no reason why it should be there, and believe its a leftover from
some old code.

Revision 1.76 / (download) - annotate - [select for diffs], Tue Jun 27 01:19:44 2023 UTC (8 months, 1 week ago) by pho
Branch: MAIN
Changes since 1.75: +2 -14 lines
Diff to previous 1.75 (colored)

callout(9): Delete the unused member cc_cancel from struct callout_cpu

I see no reason why it should be there, and believe its a leftover from
some old code.

Revision 1.75 / (download) - annotate - [select for diffs], Tue Jun 27 01:17:43 2023 UTC (8 months, 1 week ago) by pho
Branch: MAIN
Changes since 1.74: +16 -7 lines
Diff to previous 1.74 (colored)

callout(9): Tidy up the condition for "callout is running on another LWP"

No functional changes.

Revision 1.74 / (download) - annotate - [select for diffs], Tue Jun 27 01:15:22 2023 UTC (8 months, 1 week ago) by pho
Branch: MAIN
Changes since 1.73: +7 -7 lines
Diff to previous 1.73 (colored)

callout(9): Fix panic() in callout_destroy() (kern/57226)

The culprit was callout_halt(). "(c->c_flags & CALLOUT_FIRED) != 0" wasn't
the correct way to check if a callout is running. It failed to wait for a
running callout to finish in the following scenario:

1. cpu0 initializes a callout and schedules it.
2. cpu0 invokes callout_softlock() and fires the callout, setting the flag
   CALLOUT_FIRED.
3. The callout invokes callout_schedule() to re-schedule itself.
4. callout_schedule_locked() clears the flag CALLOUT_FIRED, and releases
   the lock.
5. Before the lock is re-acquired by callout_softlock(), cpu1 decides to
   destroy the callout. It first invokes callout_halt() to make sure the
   callout finishes running.
6. But since CALLOUT_FIRED has been cleared, callout_halt() thinks it's not
   running and therefore returns without invoking callout_wait().
7. cpu1 proceeds to invoke callout_destroy() while it's still running on
   cpu0. callout_destroy() detects that and panics.

Revision 1.73 / (download) - annotate - [select for diffs], Sat Oct 29 00:19:21 2022 UTC (16 months ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base
Branch point for: netbsd-10
Changes since 1.72: +3 -3 lines
Diff to previous 1.72 (colored)

callout(9): Mark new flags local unused for non-KDTRACE_HOOKS builds.

(feel free to add a new __dtrace_used annotation to make this more
precise)

Revision 1.72 / (download) - annotate - [select for diffs], Fri Oct 28 21:53:26 2022 UTC (16 months ago) by riastradh
Branch: MAIN
Changes since 1.71: +82 -2 lines
Diff to previous 1.71 (colored)

callout(9): Sprinkle dtrace probes.

Revision 1.71 / (download) - annotate - [select for diffs], Fri Oct 28 21:52:22 2022 UTC (16 months ago) by riastradh
Branch: MAIN
Changes since 1.70: +4 -4 lines
Diff to previous 1.70 (colored)

callout(9): Nix trailing whitespace.

No functional change intended.

Revision 1.70 / (download) - annotate - [select for diffs], Wed Jun 29 22:27:01 2022 UTC (20 months ago) by riastradh
Branch: MAIN
CVS Tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.69: +3 -3 lines
Diff to previous 1.69 (colored)

sleepq(9): Pass syncobj through to sleepq_block.

Previously the usage pattern was:

sleepq_enter(sq, l, lock);              // locks l
...
sleepq_enqueue(sq, ..., sobj, ...);     // assumes l locked, sets l_syncobj
... (*)
sleepq_block(...);			// unlocks l

As long as l remains locked from sleepq_enter to sleepq_block,
l_syncobj is stable, and sleepq_block uses it via ktrcsw to determine
whether the sleep is on a mutex in order to avoid creating ktrace
context-switch records (which involves allocation which is forbidden
in softint context, while taking and even sleeping for a mutex is
allowed).

However, in turnstile_block, the logic at (*) also involves
turnstile_lendpri, which sometimes unlocks and relocks l.  At that
point, another thread can swoop in and sleepq_remove l, which sets
l_syncobj to sched_syncobj.  If that happens, ktrcsw does what is
forbidden -- tries to allocate a ktrace record for the context
switch.

As an optimization, sleepq_block or turnstile_block could stop early
if it detects that l_syncobj doesn't match -- we've already been
requested to wake up at this point so there's no need to mi_switch.
(And then it would be unnecessary to pass the syncobj through
sleepq_block, because l_syncobj would remain stable.)  But I'll leave
that to another change.

Reported-by: syzbot+8b9d7b066c32dbcdc63b@syzkaller.appspotmail.com

Revision 1.69 / (download) - annotate - [select for diffs], Wed Mar 30 17:02:02 2022 UTC (23 months ago) by riastradh
Branch: MAIN
Changes since 1.68: +5 -2 lines
Diff to previous 1.68 (colored)

kern: Assert softint does not net acquire kernel locks.

This redoes previous change where I mistakenly used the CPU's biglock
count, which is not necessarily stable -- the softint lwp may sleep
on a mutex, and the lwp it interrupted may start up again and release
the kernel lock, so by the time the softint lwp wakes up again and
the softint function returns, the CPU may not be holding any kernel
locks.  But the softint lwp should never hold kernel locks except
when it's in a (usually, non-MPSAFE) softint function.

Same with callout.

Revision 1.68 / (download) - annotate - [select for diffs], Wed Mar 30 14:54:29 2022 UTC (23 months ago) by riastradh
Branch: MAIN
Changes since 1.67: +3 -7 lines
Diff to previous 1.67 (colored)

Revert "kern: Sprinkle biglock-slippage assertions."

Got the diagnostic information I needed from this, and it's holding
up releng tests of everything else, so let's back this out until I
need more diagnostics or track down the original source of the
problem.

Revision 1.67 / (download) - annotate - [select for diffs], Wed Mar 30 10:34:14 2022 UTC (23 months ago) by riastradh
Branch: MAIN
Changes since 1.66: +7 -3 lines
Diff to previous 1.66 (colored)

kern: Sprinkle biglock-slippage assertions.

We seem to have a poltergeist that occasionally messes with the
biglock depth, but it's very hard to reproduce and only manifests as
some other CPU spinning out on the kernel lock which is no good for
diagnostics.

Revision 1.66 / (download) - annotate - [select for diffs], Sat Jun 27 01:26:32 2020 UTC (3 years, 8 months ago) by rin
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.65: +8 -7 lines
Diff to previous 1.65 (colored)

Stop allocating struct cpu_info in BSS; No need to db_read_bytes()
against cpu_info, just ci_data.cpu_callout is enough.

Save 1408 bytes of BSS for, e.g., aarch64.

Revision 1.65 / (download) - annotate - [select for diffs], Tue Jun 2 02:04:35 2020 UTC (3 years, 9 months ago) by rin
Branch: MAIN
Changes since 1.64: +7 -6 lines
Diff to previous 1.64 (colored)

Appease clang -Wtentative-definition-incomplete-type.

Now, both kernel and crash(8) build with clang for amd64
(and certainly other ports also).

Pointed out by joerg.

Revision 1.64 / (download) - annotate - [select for diffs], Sun May 31 23:24:20 2020 UTC (3 years, 9 months ago) by rin
Branch: MAIN
Changes since 1.63: +16 -30 lines
Diff to previous 1.63 (colored)

Stop allocating buffers dynamically in a DDB session, in order not to
disturb on-going debugged state of kernel datastructures.

Since DDB is running on 1 CPU at a time, static buffers are enough.

Increase in BSS section is:
  52552 for amd64 (LP64)
   9152 for m68k  (ILP32)

Requested by thorpej@ and mrg@.
Also suggested by ryo@.
Thanks!

Revision 1.63 / (download) - annotate - [select for diffs], Sun May 31 09:59:37 2020 UTC (3 years, 9 months ago) by rin
Branch: MAIN
Changes since 1.62: +9 -8 lines
Diff to previous 1.62 (colored)

Switch to db_alloc() from kmem_intr_alloc(9).

Fix build failure as a part of crash(8).
Noticed by tnn@, thanks!

Revision 1.62 / (download) - annotate - [select for diffs], Sun May 31 08:33:47 2020 UTC (3 years, 9 months ago) by rin
Branch: MAIN
Changes since 1.61: +29 -13 lines
Diff to previous 1.61 (colored)

db_show_callout(): struct callout_cpu and cpu_info are too much for stack.

XXX
DDB can be running in the interrupt context, e.g., when activated from
console. Therefore, use kmem_intr_alloc(9) instead of kmem_alloc(9).

Frame size, e.g. for m68k, becomes:
    9212 (oops!) --> 0

Revision 1.54.4.3 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:42 2020 UTC (3 years, 10 months ago) by martin
Branch: phil-wifi
Changes since 1.54.4.2: +2 -2 lines
Diff to previous 1.54.4.2 (colored) to branchpoint 1.54 (colored) next main 1.55 (colored)

Sync with HEAD

Revision 1.59.2.1 / (download) - annotate - [select for diffs], Mon Apr 20 11:29:10 2020 UTC (3 years, 10 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.59: +4 -4 lines
Diff to previous 1.59 (colored) next main 1.60 (colored)

Sync with HEAD

Revision 1.61 / (download) - annotate - [select for diffs], Sun Apr 19 20:35:29 2020 UTC (3 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200421, bouyer-xenpvh-base2, bouyer-xenpvh-base1
Changes since 1.60: +3 -3 lines
Diff to previous 1.60 (colored)

Set LW_SINTR earlier so it doesn't pose a problem for doing interruptable
waits with turnstiles (not currently done).

Revision 1.60 / (download) - annotate - [select for diffs], Mon Apr 13 15:54:45 2020 UTC (3 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.59: +3 -3 lines
Diff to previous 1.59 (colored)

hardclock_ticks -> getticks()

Revision 1.54.4.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:51 2020 UTC (3 years, 10 months ago) by martin
Branch: phil-wifi
Changes since 1.54.4.1: +59 -19 lines
Diff to previous 1.54.4.1 (colored) to branchpoint 1.54 (colored)

Merge changes from current as of 20200406

Revision 1.59 / (download) - annotate - [select for diffs], Sat Mar 21 02:32:37 2020 UTC (3 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base
Branch point for: bouyer-xenpvh
Changes since 1.58: +6 -4 lines
Diff to previous 1.58 (colored)

callout_destroy(): change output from a couple of assertions so it's clear
what they are checking for (callout being destroyed while pending/running).

Revision 1.57.2.1 / (download) - annotate - [select for diffs], Sat Jan 25 22:38:51 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.57: +23 -3 lines
Diff to previous 1.57 (colored) next main 1.58 (colored)

Sync with head.

Revision 1.58 / (download) - annotate - [select for diffs], Thu Jan 23 20:44:15 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3, ad-namecache-base2
Changes since 1.57: +23 -3 lines
Diff to previous 1.57 (colored)

callout_halt():

- It's a common design pattern for callouts to re-schedule themselves, so
  check after waiting and put a stop to it again if needed.
- Add comments.

Revision 1.57 / (download) - annotate - [select for diffs], Thu Nov 21 17:57:40 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base1, ad-namecache-base
Branch point for: ad-namecache
Changes since 1.56: +34 -16 lines
Diff to previous 1.56 (colored)

Break the slow path for callout_halt() out into its own routine.
No functional change.

Revision 1.54.4.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:09:03 2019 UTC (4 years, 8 months ago) by christos
Branch: phil-wifi
Changes since 1.54: +3 -3 lines
Diff to previous 1.54 (colored)

Sync with HEAD

Revision 1.56 / (download) - annotate - [select for diffs], Sun Mar 10 13:44:49 2019 UTC (4 years, 11 months ago) by kre
Branch: MAIN
CVS Tags: phil-wifi-20191119, phil-wifi-20190609, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2
Changes since 1.55: +5 -5 lines
Diff to previous 1.55 (colored)

Undo previous, in the name of "defined" behaviour, it breaks things.

This is all explained in the comment at the head of the file:

 * Some of the "math" in here is a bit tricky.  We have to beware of
 * wrapping ints.
 *
 * [...] but c->c_time can
 * be positive or negative so comparing it with anything is dangerous.

In particular, "if (c->c_time > ticks)" is simply wrong.

 * The only way we can use the c->c_time value in any predictable way is
 * when we calculate how far in the future `to' will timeout - "c->c_time
 * - c->c_cpu->cc_ticks".  The result will always be positive for future
 * timeouts and 0 or negative for due timeouts.

Go back to the old way.   But write the calculation of delta slightly
differently which will hopefully appease KUBsan.   Perhaps.  In any
case, this code works on any system that NetBSD has any hope of ever
running on, whatever the C standards say is "defined" behaviour.

Revision 1.54.2.1 / (download) - annotate - [select for diffs], Sat Jul 28 04:38:08 2018 UTC (5 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.54: +5 -5 lines
Diff to previous 1.54 (colored) next main 1.55 (colored)

Sync with HEAD

Revision 1.55 / (download) - annotate - [select for diffs], Sun Jul 8 14:42:52 2018 UTC (5 years, 7 months ago) by kamil
Branch: MAIN
CVS Tags: pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728
Changes since 1.54: +5 -5 lines
Diff to previous 1.54 (colored)

Try to avoid signed integer overflow in callout_softclock()

The delta operation (c->c_time - ticks) is documented as safe, however it
still can cause overflow in narrow case scenarios.

Try to avoid overflow/underflow or at least make it less frequent with
a direct comparison of c->c_time and tics. Perform the operation of
subtraction only when c->c_time > ticks.

sys/kern/kern_timeout.c:720:9, signed integer overflow: -2147410738 - 72912 cannot be represented in type 'int'

Detected with Kernel Undefined Behavior Sanitizer.

Patch suggested by <Riastradh>

Revision 1.52.2.1 / (download) - annotate - [select for diffs], Fri Jan 26 15:41:12 2018 UTC (6 years, 1 month ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1
Changes since 1.52: +3 -2 lines
Diff to previous 1.52 (colored) next main 1.53 (colored)

Pull up following revision(s) (requested by ozaki-r in ticket #511):
	sys/kern/kern_timeout.c: revision 1.54
	sys/netinet6/nd6_nbr.c: revision 1.141
	sys/netinet6/nd6_nbr.c: revision 1.144
	sys/netinet/if_arp.c: revision 1.256
Fix a deadlock on callout_halt of nd6_dad_timer
We must not call callout_halt of nd6_dad_timer with holding nd6_dad_lock because
the lock is taken in nd6_dad_timer. Once softnet_lock goes away, we can pass the
lock to callout_halt, but for now we cannot.
Make DAD destructions (MP-)safe with callout_stop
arp_dad_stoptimer and nd6_dad_stoptimer can be called with or without
softnet_lock held and unfortunately we have no easy way to statically know which.
So it is hard to use callout_halt there.
To address the situation, we use callout_stop to make the code safe. The new
approach copes with the issue by delegating the destruction of a callout to
callout itself, which allows us to not wait the callout to finish. This can be
done thanks to that DAD objects are separated from other data such as ifa.
The approach is suggested by riastradh@
Proposed on tech-kern@ and tech-net@
Sanity-check if interlock is held when it's passed

Revision 1.54 / (download) - annotate - [select for diffs], Tue Jan 16 08:15:29 2018 UTC (6 years, 1 month ago) by ozaki-r
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-base, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.53: +3 -2 lines
Diff to previous 1.53 (colored)

Sanity-check if interlock is held when it's passed

Revision 1.53 / (download) - annotate - [select for diffs], Tue Jan 9 01:44:50 2018 UTC (6 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.52: +5 -5 lines
Diff to previous 1.52 (colored)

check the magic first in case we got passed a junk pointer.

Revision 1.45.18.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:38:45 2017 UTC (6 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.45.18.1: +30 -18 lines
Diff to previous 1.45.18.1 (colored) to branchpoint 1.45 (colored) next main 1.46 (colored)

update from HEAD

Revision 1.47.6.3 / (download) - annotate - [select for diffs], Mon Aug 28 17:53:07 2017 UTC (6 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.47.6.2: +2 -4 lines
Diff to previous 1.47.6.2 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored)

Sync with HEAD

Revision 1.52 / (download) - annotate - [select for diffs], Thu Jun 1 02:45:13 2017 UTC (6 years, 9 months ago) by chs
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, matt-nb8-mediatek-base, matt-nb8-mediatek
Branch point for: netbsd-8
Changes since 1.51: +2 -4 lines
Diff to previous 1.51 (colored)

remove checks for failure after memory allocation calls that cannot fail:

  kmem_alloc() with KM_SLEEP
  kmem_zalloc() with KM_SLEEP
  percpu_alloc()
  pserialize_create()
  psref_class_create()

all of these paths include an assertion that the allocation has not failed,
so callers should not assert that again.

Revision 1.47.6.2 / (download) - annotate - [select for diffs], Sun Dec 27 12:10:05 2015 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.47.6.1: +18 -21 lines
Diff to previous 1.47.6.1 (colored) to branchpoint 1.47 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.51 / (download) - annotate - [select for diffs], Tue Nov 24 15:48:23 2015 UTC (8 years, 3 months ago) by christos
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Changes since 1.50: +18 -21 lines
Diff to previous 1.50 (colored)

fix crash(8) printing of callouts.

Revision 1.47.6.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:20 2015 UTC (8 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.47: +30 -13 lines
Diff to previous 1.47 (colored)

Sync with HEAD

Revision 1.50 / (download) - annotate - [select for diffs], Mon Feb 9 20:46:55 2015 UTC (9 years ago) by christos
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406
Changes since 1.49: +4 -5 lines
Diff to previous 1.49 (colored)

don't compare user and kernel addresses

Revision 1.49 / (download) - annotate - [select for diffs], Sun Feb 8 19:41:00 2015 UTC (9 years ago) by christos
Branch: MAIN
Changes since 1.48: +26 -10 lines
Diff to previous 1.48 (colored)

make the ddb code crash(8) friendly.

Revision 1.48 / (download) - annotate - [select for diffs], Wed Dec 10 17:09:49 2014 UTC (9 years, 2 months ago) by martin
Branch: MAIN
Changes since 1.47: +5 -3 lines
Diff to previous 1.47 (colored)

Change a KASSERT to KASSERTMSG and print enough details about the callout
so it can be identified even if ddb should not be helpfull (or not enabled).

Revision 1.45.18.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:29 2014 UTC (9 years, 6 months ago) by tls
Branch: tls-maxphys
Changes since 1.45: +7 -5 lines
Diff to previous 1.45 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.45.8.1 / (download) - annotate - [select for diffs], Thu May 22 11:41:03 2014 UTC (9 years, 9 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.45: +7 -5 lines
Diff to previous 1.45 (colored) next main 1.46 (colored)

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.46.2.1 / (download) - annotate - [select for diffs], Sun May 18 17:46:07 2014 UTC (9 years, 9 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.46: +4 -4 lines
Diff to previous 1.46 (colored) next main 1.47 (colored)

sync with head

Revision 1.47 / (download) - annotate - [select for diffs], Sat Sep 14 20:53:48 2013 UTC (10 years, 5 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7
Branch point for: nick-nhusb
Changes since 1.46: +4 -4 lines
Diff to previous 1.46 (colored)

Nove a CTASSERT to global scope

Revision 1.46 / (download) - annotate - [select for diffs], Fri Jun 28 01:21:45 2013 UTC (10 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Branch point for: rmind-smpnet
Changes since 1.45: +5 -3 lines
Diff to previous 1.45 (colored)

Convert a KASSERT to a KASSERTMSG

Revision 1.44.4.1 / (download) - annotate - [select for diffs], Sat Mar 5 20:55:17 2011 UTC (13 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.44: +3 -2 lines
Diff to previous 1.44 (colored) next main 1.45 (colored)

sync with head

Revision 1.45 / (download) - annotate - [select for diffs], Sat Dec 18 01:36:19 2010 UTC (13 years, 2 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, rmind-uvmplock-nbase, rmind-uvmplock-base, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-mips64-premerge-20101231, khorben-n900, jruoho-x86intr-base, jruoho-x86intr, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, agc-symver-base, agc-symver
Branch point for: yamt-pagecache, tls-maxphys
Changes since 1.44: +3 -2 lines
Diff to previous 1.44 (colored)

- Fix a few possible locking issues in execve1() and exit1().  Add a note
  that scheduler locks are special in this regard - adaptive locks cannot
  be in the path due to turnstiles.  Randomly spotted/reported by uebayasi@.
- Remove unused lwp_relock() and replace lwp_lock_retry() by simplifying
  lwp_lock() and sleepq_enter() a little.
- Give alllwp its own cache-line and mark lwp_cache pointer as read-mostly.

OK ad@

Revision 1.43.8.1 / (download) - annotate - [select for diffs], Wed May 13 17:21:57 2009 UTC (14 years, 9 months ago) by jym
Branch: jym-xensuspend
Changes since 1.43: +22 -20 lines
Diff to previous 1.43 (colored) next main 1.44 (colored)

Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.38.2.2 / (download) - annotate - [select for diffs], Mon May 4 08:13:47 2009 UTC (14 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.38.2.1: +30 -25 lines
Diff to previous 1.38.2.1 (colored) to branchpoint 1.38 (colored) next main 1.39 (colored)

sync with head.

Revision 1.43.2.1 / (download) - annotate - [select for diffs], Tue Apr 28 07:37:00 2009 UTC (14 years, 10 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.43: +22 -20 lines
Diff to previous 1.43 (colored) next main 1.44 (colored)

Sync with HEAD.

Revision 1.44 / (download) - annotate - [select for diffs], Sat Mar 21 13:11:14 2009 UTC (14 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, matt-premerge-20091211, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base
Branch point for: rmind-uvmplock
Changes since 1.43: +22 -20 lines
Diff to previous 1.43 (colored)

Allocate sleep queue locks with mutex_obj_alloc. Reduces memory usage
on !MP kernels, and reduces false sharing on MP ones.

Revision 1.31.6.5 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:19 2009 UTC (15 years, 1 month ago) by mjf
Branch: mjf-devfs2
Changes since 1.31.6.4: +3 -2 lines
Diff to previous 1.31.6.4 (colored) to branchpoint 1.31 (colored) next main 1.32 (colored)

Sync with HEAD.

Revision 1.41.2.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:17:28 2008 UTC (15 years, 4 months ago) by haad
Branch: haad-dm
Changes since 1.41: +8 -4 lines
Diff to previous 1.41 (colored) next main 1.42 (colored)

Sync with HEAD.

Revision 1.39.2.3 / (download) - annotate - [select for diffs], Fri Oct 10 22:34:14 2008 UTC (15 years, 4 months ago) by skrll
Branch: wrstuden-revivesa
Changes since 1.39.2.2: +5 -4 lines
Diff to previous 1.39.2.2 (colored) to branchpoint 1.39 (colored) next main 1.40 (colored)

Sync with HEAD.

Revision 1.43 / (download) - annotate - [select for diffs], Fri Oct 10 11:42:58 2008 UTC (15 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, nick-hppapmap-base2, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, mjf-devfs2-base, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, jym-xensuspend
Changes since 1.42: +5 -4 lines
Diff to previous 1.42 (colored)

Update CALLOUT_INVOKING correctly, seems to have been lost.

Revision 1.31.6.4 / (download) - annotate - [select for diffs], Sun Sep 28 10:40:52 2008 UTC (15 years, 5 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.31.6.3: +3 -0 lines
Diff to previous 1.31.6.3 (colored) to branchpoint 1.31 (colored)

Sync with HEAD.

Revision 1.39.2.2 / (download) - annotate - [select for diffs], Thu Sep 18 04:31:43 2008 UTC (15 years, 5 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.39.2.1: +6 -3 lines
Diff to previous 1.39.2.1 (colored) to branchpoint 1.39 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.42 / (download) - annotate - [select for diffs], Sat Sep 6 23:08:54 2008 UTC (15 years, 5 months ago) by rmind
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-3, wrstuden-revivesa-base-2
Changes since 1.41: +5 -2 lines
Diff to previous 1.41 (colored)

Add few KASSERTs.

Revision 1.40.2.1 / (download) - annotate - [select for diffs], Thu Jul 3 18:38:12 2008 UTC (15 years, 8 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.40: +3 -3 lines
Diff to previous 1.40 (colored) next main 1.41 (colored)

Sync with head.

Revision 1.31.6.3 / (download) - annotate - [select for diffs], Wed Jul 2 19:08:20 2008 UTC (15 years, 8 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.31.6.2: +1 -1 lines
Diff to previous 1.31.6.2 (colored) to branchpoint 1.31 (colored)

Sync with HEAD.

Revision 1.41 / (download) - annotate - [select for diffs], Wed Jul 2 14:47:34 2008 UTC (15 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: simonb-wapbl-nbase, simonb-wapbl-base
Branch point for: haad-dm
Changes since 1.40: +3 -3 lines
Diff to previous 1.40 (colored)

Switch from KASSERT to CTASSERT for those asserts testing sizes of types.

Revision 1.39.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:31:51 2008 UTC (15 years, 8 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.39: +5 -6 lines
Diff to previous 1.39 (colored)

Sync w/ -current. 34 merge conflicts to follow.

Revision 1.35.2.2 / (download) - annotate - [select for diffs], Wed Jun 4 02:05:39 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-pf42
Changes since 1.35.2.1: +5 -6 lines
Diff to previous 1.35.2.1 (colored) to branchpoint 1.35 (colored) next main 1.36 (colored)

sync with head

Revision 1.31.6.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:10 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.31.6.1: +331 -190 lines
Diff to previous 1.31.6.1 (colored) to branchpoint 1.31 (colored)

Sync with HEAD.

Revision 1.40 / (download) - annotate - [select for diffs], Mon May 26 12:08:38 2008 UTC (15 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, wrstuden-revivesa-base-1, wrstuden-revivesa-base
Branch point for: simonb-wapbl
Changes since 1.39: +5 -6 lines
Diff to previous 1.39 (colored)

Take the mutex pointer and waiters count out of sleepq_t: the values can
be or are maintained elsewhere. Now a sleepq_t is just a TAILQ_HEAD.

Revision 1.35.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:09 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-pf42
Changes since 1.35: +334 -192 lines
Diff to previous 1.35 (colored)

sync with head.

Revision 1.38.2.1 / (download) - annotate - [select for diffs], Fri May 16 02:25:26 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.38: +2 -9 lines
Diff to previous 1.38 (colored)

sync with head.

Revision 1.39 / (download) - annotate - [select for diffs], Mon Apr 28 20:24:04 2008 UTC (15 years, 10 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base2, yamt-nfs-mp-base2, hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa
Changes since 1.38: +2 -9 lines
Diff to previous 1.38 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.38 / (download) - annotate - [select for diffs], Wed Apr 23 13:19:45 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base
Branch point for: yamt-nfs-mp
Changes since 1.37: +3 -3 lines
Diff to previous 1.37 (colored)

kmutex_t * -> void *, to avoid MD header fallout.

Revision 1.37 / (download) - annotate - [select for diffs], Tue Apr 22 12:04:22 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.36: +32 -13 lines
Diff to previous 1.36 (colored)

Give callout_halt() an additional 'kmutex_t *interlock' argument. If there
is a need to block and wait for the callout to complete, and there is an
interlock, it will be dropped while waiting and reacquired before return.

Revision 1.36 / (download) - annotate - [select for diffs], Tue Apr 22 11:45:28 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.35: +312 -182 lines
Diff to previous 1.35 (colored)

Implement MP callouts as discussed on tech-kern. The CPU binding code is
disabled for the moment until we figure out what we want to do with CPUs
being offlined.

Revision 1.31.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:43:02 2008 UTC (15 years, 11 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.31: +66 -71 lines
Diff to previous 1.31 (colored)

Sync with HEAD.

Revision 1.35 / (download) - annotate - [select for diffs], Sat Mar 29 14:07:23 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base
Branch point for: yamt-pf42
Changes since 1.34: +2 -3 lines
Diff to previous 1.34 (colored)

callout_halt: remove unneeded extern decl.

Revision 1.34 / (download) - annotate - [select for diffs], Sat Mar 29 14:00:55 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.33: +3 -3 lines
Diff to previous 1.33 (colored)

callout_destroy: fix assertion to not fire when a callout is destroying
its own handle. PR kern/38324.

Revision 1.33 / (download) - annotate - [select for diffs], Fri Mar 28 21:58:43 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.32: +3 -2 lines
Diff to previous 1.32 (colored)

Pull in sys/cpu.h for cpu_intr_p().

Revision 1.32 / (download) - annotate - [select for diffs], Fri Mar 28 20:44:39 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.31: +65 -70 lines
Diff to previous 1.31 (colored)

Enable blocking synchronization for callouts as discussed at length on
tech-kern last year. Instead of modifying callout_stop, add a new
routine (callout_halt) which will sleep if the callout is already in
flight. Note that if a callout can take locks, the caller of callout_halt
must not hold any of those locks - otherwise the two could deadlock.

Revision 1.27.4.3 / (download) - annotate - [select for diffs], Mon Feb 18 21:06:46 2008 UTC (16 years ago) by mjf
Branch: mjf-devfs
Changes since 1.27.4.2: +2 -3 lines
Diff to previous 1.27.4.2 (colored) to branchpoint 1.27 (colored) next main 1.28 (colored)

Sync with HEAD.

Revision 1.16.2.6 / (download) - annotate - [select for diffs], Mon Jan 21 09:46:15 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.16.2.5: +2 -3 lines
Diff to previous 1.16.2.5 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored)

sync with head

Revision 1.26.4.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:56:11 2008 UTC (16 years, 1 month ago) by matt
Branch: matt-armv6
Changes since 1.26.4.1: +32 -42 lines
Diff to previous 1.26.4.1 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)

sync with HEAD

Revision 1.30.4.1 / (download) - annotate - [select for diffs], Tue Jan 8 22:11:37 2008 UTC (16 years, 1 month ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.30: +2 -3 lines
Diff to previous 1.30 (colored) next main 1.31 (colored)

Sync with HEAD

Revision 1.31 / (download) - annotate - [select for diffs], Fri Jan 4 21:18:11 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, bouyer-xeni386-nbase, bouyer-xeni386-base, ad-socklock-base1
Branch point for: mjf-devfs2
Changes since 1.30: +2 -3 lines
Diff to previous 1.30 (colored)

Start detangling lock.h from intr.h. This is likely to cause short term
breakage, but the mess of dependencies has been regularly breaking the
build recently anyhow.

Revision 1.26.2.4 / (download) - annotate - [select for diffs], Sun Dec 9 19:38:21 2007 UTC (16 years, 2 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.26.2.3: +3 -3 lines
Diff to previous 1.26.2.3 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)

Sync with HEAD.

Revision 1.27.4.2 / (download) - annotate - [select for diffs], Sat Dec 8 18:20:33 2007 UTC (16 years, 2 months ago) by mjf
Branch: mjf-devfs
Changes since 1.27.4.1: +32 -41 lines
Diff to previous 1.27.4.1 (colored) to branchpoint 1.27 (colored)

Sync with HEAD.

Revision 1.29.2.1 / (download) - annotate - [select for diffs], Sat Dec 8 17:57:44 2007 UTC (16 years, 2 months ago) by ad
Branch: vmlocking2
Changes since 1.29: +3 -3 lines
Diff to previous 1.29 (colored) next main 1.30 (colored)

Sync with head.

Revision 1.16.2.5 / (download) - annotate - [select for diffs], Fri Dec 7 17:32:53 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.16.2.4: +32 -41 lines
Diff to previous 1.16.2.4 (colored) to branchpoint 1.16 (colored)

sync with head

Revision 1.30 / (download) - annotate - [select for diffs], Wed Dec 5 07:06:53 2007 UTC (16 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: bouyer-xeni386
Changes since 1.29: +3 -3 lines
Diff to previous 1.29 (colored)

Match the docs: MUTEX_DRIVER/SPIN are now only for porting code written
for Solaris.

Revision 1.26.2.3 / (download) - annotate - [select for diffs], Tue Nov 27 19:38:07 2007 UTC (16 years, 3 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.26.2.2: +31 -40 lines
Diff to previous 1.26.2.2 (colored) to branchpoint 1.26 (colored)

Sync with HEAD. amd64 Xen support needs testing.

Revision 1.29 / (download) - annotate - [select for diffs], Fri Nov 23 19:43:32 2007 UTC (16 years, 3 months ago) by joerg
Branch: MAIN
CVS Tags: vmlocking2-base1, vmlocking-nbase
Branch point for: vmlocking2
Changes since 1.28: +31 -40 lines
Diff to previous 1.28 (colored)

Share code between callout_schedule and callout_reset.

Revision 1.27.4.1 / (download) - annotate - [select for diffs], Mon Nov 19 00:48:44 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.27: +4 -4 lines
Diff to previous 1.27 (colored)

Sync with HEAD.

Revision 1.16.2.4 / (download) - annotate - [select for diffs], Thu Nov 15 11:44:45 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.16.2.3: +4 -4 lines
Diff to previous 1.16.2.3 (colored) to branchpoint 1.16 (colored)

sync with head.

Revision 1.27.2.1 / (download) - annotate - [select for diffs], Tue Nov 13 16:02:13 2007 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.27: +4 -4 lines
Diff to previous 1.27 (colored) next main 1.28 (colored)

Sync with HEAD

Revision 1.26.4.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:32:05 2007 UTC (16 years, 4 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.26: +7 -8 lines
Diff to previous 1.26 (colored)

sync with HEAD

Revision 1.26.2.2 / (download) - annotate - [select for diffs], Tue Nov 6 19:25:32 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.26.2.1: +4 -4 lines
Diff to previous 1.26.2.1 (colored) to branchpoint 1.26 (colored)

Sync with HEAD.

Revision 1.28 / (download) - annotate - [select for diffs], Tue Nov 6 00:42:43 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base
Changes since 1.27: +4 -4 lines
Diff to previous 1.27 (colored)

Merge scheduler changes from the vmlocking branch. All discussed on
tech-kern:

- Invert priority space so that zero is the lowest priority. Rearrange
  number and type of priority levels into bands. Add new bands like
  'kernel real time'.
- Ignore the priority level passed to tsleep. Compute priority for
  sleep dynamically.
- For SCHED_4BSD, make priority adjustment per-LWP, not per-process.

Revision 1.21.4.6 / (download) - annotate - [select for diffs], Thu Nov 1 21:58:21 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.21.4.5: +4 -4 lines
Diff to previous 1.21.4.5 (colored) to branchpoint 1.21 (colored) next main 1.22 (colored)

- Fix interactivity problems under high load. Beacuse soft interrupts
  are being stacked on top of regular LWPs, more often than not aston()
  was being called on a soft interrupt thread instead of a user thread,
  meaning that preemption was not happening on EOI.

- Don't use bool in a couple of data structures. Sub-word writes are not
  always atomic and may clobber other fields in the containing word.

- For SCHED_4BSD, make p_estcpu per thread (l_estcpu). Rework how the
  dynamic priority level is calculated - it's much better behaved now.

- Kill the l_usrpri/l_priority split now that priorities are no longer
  directly assigned by tsleep(). There are three fields describing LWP
  priority:

        l_priority: Dynamic priority calculated by the scheduler.
                This does not change for kernel/realtime threads,
                and always stays within the correct band. Eg for
                timeshared LWPs it never moves out of the user
                priority range. This is basically what l_usrpri
                was before.

        l_inheritedprio: Lent to the LWP due to priority inheritance
                (turnstiles).

        l_kpriority: A boolean value set true the first time an LWP
                sleeps within the kernel. This indicates that the LWP
                should get a priority boost as compensation for blocking.
                lwp_eprio() now does the equivalent of sched_kpri() if
                the flag is set. The flag is cleared in userret().

- Keep track of scheduling class (OTHER, FIFO, RR) in struct lwp, and use
  this to make decisions in a few places where we previously tested for a
  kernel thread.

- Partially fix itimers and usr/sys/intr time accounting in the presence
  of software interrupts.

- Use kthread_create() to create idle LWPs. Move priority definitions
  from the various modules into sys/param.h.

- newlwp -> lwp_create

Revision 1.16.2.3 / (download) - annotate - [select for diffs], Sat Oct 27 11:35:30 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.16.2.2: +5 -6 lines
Diff to previous 1.16.2.2 (colored) to branchpoint 1.16 (colored)

sync with head.

Revision 1.26.2.1 / (download) - annotate - [select for diffs], Fri Oct 26 15:48:37 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.26: +5 -6 lines
Diff to previous 1.26 (colored)

Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.

Revision 1.26.6.1 / (download) - annotate - [select for diffs], Sun Oct 14 11:48:44 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.26: +5 -6 lines
Diff to previous 1.26 (colored) next main 1.27 (colored)

sync with head.

Revision 1.27 / (download) - annotate - [select for diffs], Mon Oct 8 16:18:04 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, vmlocking-base
Branch point for: mjf-devfs, bouyer-xenamd64
Changes since 1.26: +5 -6 lines
Diff to previous 1.26 (colored)

Use the softint API.

Revision 1.16.2.2 / (download) - annotate - [select for diffs], Mon Sep 3 14:40:58 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.16.2.1: +306 -119 lines
Diff to previous 1.16.2.1 (colored) to branchpoint 1.16 (colored)

sync with head.

Revision 1.21.4.5 / (download) - annotate - [select for diffs], Mon Aug 20 21:27:36 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.21.4.4: +5 -4 lines
Diff to previous 1.21.4.4 (colored) to branchpoint 1.21 (colored)

Sync with HEAD.

Revision 1.24.2.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:49:11 2007 UTC (16 years, 6 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.24: +5 -4 lines
Diff to previous 1.24 (colored) next main 1.25 (colored)

Sync with HEAD.

Revision 1.26.8.2 / (download) - annotate - [select for diffs], Wed Aug 1 23:23:42 2007 UTC (16 years, 7 months ago) by ad
Branch: matt-mips64
Changes since 1.26.8.1: +680 -0 lines
Diff to previous 1.26.8.1 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)

callout_softclock: add a couple of assertions.

Revision 1.26.8.1, Wed Aug 1 23:23:41 2007 UTC (16 years, 7 months ago) by ad
Branch: matt-mips64
Changes since 1.26: +0 -680 lines
FILE REMOVED

file kern_timeout.c was added on branch matt-mips64 on 2007-08-01 23:23:42 +0000

Revision 1.26 / (download) - annotate - [select for diffs], Wed Aug 1 23:23:41 2007 UTC (16 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base2, yamt-x86pmap-base, nick-csl-alignment-base5, matt-mips64-base
Branch point for: yamt-x86pmap, matt-mips64, matt-armv6, jmcneill-pm
Changes since 1.25: +4 -2 lines
Diff to previous 1.25 (colored)

callout_softclock: add a couple of assertions.

Revision 1.25 / (download) - annotate - [select for diffs], Mon Jul 30 21:36:54 2007 UTC (16 years, 7 months ago) by ad
Branch: MAIN
Changes since 1.24: +3 -4 lines
Diff to previous 1.24 (colored)

callout_barrier: drop kernel_lock before blocking.

Revision 1.21.4.4 / (download) - annotate - [select for diffs], Sun Jul 15 15:52:55 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.21.4.3: +5 -33 lines
Diff to previous 1.21.4.3 (colored) to branchpoint 1.21 (colored)

Sync with head.

Revision 1.21.6.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:09:59 2007 UTC (16 years, 7 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.21: +305 -119 lines
Diff to previous 1.21 (colored) next main 1.22 (colored)

Sync with head.

Revision 1.24 / (download) - annotate - [select for diffs], Tue Jul 10 21:26:00 2007 UTC (16 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base, hpcarm-cleanup
Branch point for: nick-csl-alignment
Changes since 1.23: +4 -2 lines
Diff to previous 1.23 (colored)

Define _CALLOUT_PRIVATE.

Revision 1.23 / (download) - annotate - [select for diffs], Tue Jul 10 21:12:32 2007 UTC (16 years, 7 months ago) by ad
Branch: MAIN
Changes since 1.22: +2 -33 lines
Diff to previous 1.22 (colored)

Make netstat build again. I don't see why it has any business dumping
the raw contents of tcpcb but that's another story.

Revision 1.22 / (download) - annotate - [select for diffs], Mon Jul 9 21:10:54 2007 UTC (16 years, 7 months ago) by ad
Branch: MAIN
Changes since 1.21: +334 -119 lines
Diff to previous 1.21 (colored)

Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements

Revision 1.21.4.3 / (download) - annotate - [select for diffs], Sun Jul 1 21:37:34 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.21.4.2: +281 -137 lines
Diff to previous 1.21.4.2 (colored) to branchpoint 1.21 (colored)

- Alter the callout ABI to be stable in the event of changes to the
  internal data structures.
- Add a flags argument to callout_init(). If CALLOUT_MPSAFE is specified,
  the kernel lock is not taken when the callout is executed.
- Only synchronize with running callouts from callout_stop(). If the
  callout is MP safe, then sleep until it has completed. If it is not
  MP safe (and thus should not block) use the kernel lock to provide
  synchronization. Both need to be verified as deadlock free, but at
  this time I think they are OK.

Revision 1.21.4.2 / (download) - annotate - [select for diffs], Sat Jun 16 19:02:55 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.21.4.1: +76 -7 lines
Diff to previous 1.21.4.1 (colored) to branchpoint 1.21 (colored)

- Make some of the callout macros into functions proper.
- Acquire kernel_lock in softclock().

Revision 1.21.4.1 / (download) - annotate - [select for diffs], Wed Mar 21 20:10:21 2007 UTC (16 years, 11 months ago) by ad
Branch: vmlocking
Changes since 1.21: +3 -3 lines
Diff to previous 1.21 (colored)

GC the simplelock/spinlock debugging stuff.

Revision 1.20.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:54:26 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored) next main 1.21 (colored)

- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.

Revision 1.16.2.1 / (download) - annotate - [select for diffs], Mon Feb 26 09:11:13 2007 UTC (17 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.16: +81 -36 lines
Diff to previous 1.16 (colored)

sync with head.

Revision 1.21 / (download) - annotate - [select for diffs], Thu Feb 22 04:38:02 2007 UTC (17 years ago) by matt
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored)

Fix lossage from boolean_t -> bool and updated x86 bus_dma.

Revision 1.20 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:31 2007 UTC (17 years ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Branch point for: yamt-idlelwp
Changes since 1.19: +80 -35 lines
Diff to previous 1.19 (colored)

Merge newlock2 to head.

Revision 1.17.20.7 / (download) - annotate - [select for diffs], Fri Feb 9 12:49:49 2007 UTC (17 years ago) by ad
Branch: newlock2
Changes since 1.17.20.6: +9 -3 lines
Diff to previous 1.17.20.6 (colored) to branchpoint 1.17 (colored) next main 1.18 (colored)

Work around a gcc code generation bug on alpha. From mhitch.

Revision 1.17.20.6 / (download) - annotate - [select for diffs], Tue Feb 6 21:18:41 2007 UTC (17 years ago) by ad
Branch: newlock2
Changes since 1.17.20.5: +5 -5 lines
Diff to previous 1.17.20.5 (colored) to branchpoint 1.17 (colored)

Fix compile on m68k.

Revision 1.17.20.5 / (download) - annotate - [select for diffs], Sat Jan 27 14:00:02 2007 UTC (17 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.17.20.4: +16 -16 lines
Diff to previous 1.17.20.4 (colored) to branchpoint 1.17 (colored)

Rename some functions to better describe what they do.

Revision 1.17.20.4 / (download) - annotate - [select for diffs], Fri Jan 19 00:38:00 2007 UTC (17 years, 1 month ago) by yamt
Branch: newlock2
Changes since 1.17.20.3: +13 -7 lines
Diff to previous 1.17.20.3 (colored) to branchpoint 1.17 (colored)

fix a modify-after-free problem in softclock().
a callout handler can free the callout.

Revision 1.17.20.3 / (download) - annotate - [select for diffs], Fri Dec 29 20:27:44 2006 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.17.20.2: +16 -16 lines
Diff to previous 1.17.20.2 (colored) to branchpoint 1.17 (colored)

Checkpoint work in progress.

Revision 1.17.22.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:18:45 2006 UTC (17 years, 2 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.17.22.1: +4 -5 lines
Diff to previous 1.17.22.1 (colored) to branchpoint 1.17 (colored) next main 1.18 (colored)

sync with head.

Revision 1.19 / (download) - annotate - [select for diffs], Wed Nov 1 10:17:58 2006 UTC (17 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, newlock2-nbase, newlock2-base, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm
Changes since 1.18: +4 -5 lines
Diff to previous 1.18 (colored)

remove some __unused from function parameters.

Revision 1.17.22.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:07:11 2006 UTC (17 years, 4 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.17: +5 -4 lines
Diff to previous 1.17 (colored)

sync with head

Revision 1.17.20.2 / (download) - annotate - [select for diffs], Fri Oct 20 19:24:29 2006 UTC (17 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.17.20.1: +3 -3 lines
Diff to previous 1.17.20.1 (colored) to branchpoint 1.17 (colored)

Put 'volatile' in the right place.

Revision 1.18 / (download) - annotate - [select for diffs], Thu Oct 12 01:32:17 2006 UTC (17 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.17: +5 -4 lines
Diff to previous 1.17 (colored)

- sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386

Revision 1.17.20.1 / (download) - annotate - [select for diffs], Tue Sep 19 23:04:44 2006 UTC (17 years, 5 months ago) by ad
Branch: newlock2
Changes since 1.17: +68 -35 lines
Diff to previous 1.17 (colored)

- If the callout is running on another CPU, spin before stopping or
  rescheduling it.
- Use mutexes.

Revision 1.17 / (download) - annotate - [select for diffs], Sun Dec 11 12:24:29 2005 UTC (18 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, yamt-pdpolicy, simonb-timecounters-base, simonb-timecounters, simonb-timcounters-final, rpaulo-netinet-merge-pcb-base, rpaulo-netinet-merge-pcb, peter-altq-base, peter-altq, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, elad-kernelauth, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

merge ktrace-lwp.

Revision 1.6.2.5 / (download) - annotate - [select for diffs], Thu Nov 10 14:09:45 2005 UTC (18 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.6.2.4: +6 -5 lines
Diff to previous 1.6.2.4 (colored) next main 1.7 (colored)

Sync with HEAD. Here we go again...

Revision 1.16 / (download) - annotate - [select for diffs], Wed Jun 1 12:27:15 2005 UTC (18 years, 9 months ago) by drochner
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, thorpej-vnode-attr-base, thorpej-vnode-attr, ktrace-lwp-base
Branch point for: yamt-lazymbuf
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (colored)

need a "const"

Revision 1.15 / (download) - annotate - [select for diffs], Sun May 29 22:24:15 2005 UTC (18 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.14: +5 -4 lines
Diff to previous 1.14 (colored)

- add const.
- remove unnecessary casts.
- add __UNCONST casts and mark them with XXXUNCONST as necessary.

Revision 1.13.8.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:29:24 2005 UTC (18 years, 10 months ago) by kent
Branch: kent-audio2
Changes since 1.13: +14 -14 lines
Diff to previous 1.13 (colored) next main 1.14 (colored)

sync with -current

Revision 1.13.10.1 / (download) - annotate - [select for diffs], Sat Mar 19 08:36:11 2005 UTC (18 years, 11 months ago) by yamt
Branch: yamt-km
Changes since 1.13: +14 -14 lines
Diff to previous 1.13 (colored) next main 1.14 (colored)

sync with head.  xen and whitespace.  xen part is not finished.

Revision 1.6.2.4 / (download) - annotate - [select for diffs], Fri Mar 4 16:51:59 2005 UTC (19 years ago) by skrll
Branch: ktrace-lwp
Changes since 1.6.2.3: +14 -14 lines
Diff to previous 1.6.2.3 (colored)

Sync with HEAD.

Hi Perry!

Revision 1.14 / (download) - annotate - [select for diffs], Sat Feb 26 21:34:55 2005 UTC (19 years ago) by perry
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, kent-audio2-base
Changes since 1.13: +14 -14 lines
Diff to previous 1.13 (colored)

nuke trailing whitespace

Revision 1.6.2.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:35:11 2004 UTC (19 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.6.2.2: +2 -2 lines
Diff to previous 1.6.2.2 (colored)

Fix the sync with head I botched.

Revision 1.6.2.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:53:03 2004 UTC (19 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.6.2.1: +0 -0 lines
Diff to previous 1.6.2.1 (colored)

Sync with HEAD.

Revision 1.6.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:52:54 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.6: +34 -41 lines
Diff to previous 1.6 (colored)

Sync with HEAD

Revision 1.13 / (download) - annotate - [select for diffs], Thu Oct 30 04:32:56 2003 UTC (20 years, 4 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-km-base2, yamt-km-base, netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-km, kent-audio2
Changes since 1.12: +2 -18 lines
Diff to previous 1.12 (colored)

Make callout_setfunc() a CPP macro.  Suggested by enami.

Revision 1.12 / (download) - annotate - [select for diffs], Mon Oct 27 16:52:01 2003 UTC (20 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.11: +4 -3 lines
Diff to previous 1.11 (colored)

- Change callout_setfunc() to require that the callout handle is already
  initialized.  Update the txp(4) to compensate.
- Statically initialize the TCP timer callout handles in the tcpcb
  template.  We still use callout_setfunc(), but that call is now much
  less expensive.  Add a comment that the compiler is likely to unroll
  the loop (so don't sweat that it's there).

Revision 1.11 / (download) - annotate - [select for diffs], Thu Sep 25 10:44:11 2003 UTC (20 years, 5 months ago) by scw
Branch: MAIN
Changes since 1.10: +27 -23 lines
Diff to previous 1.10 (colored)

Fix for PR kern/22933

Avoid gcc3 pointer alias bugs caused by casting between struct callout
and struct callout_circq.

Revision 1.10 / (download) - annotate - [select for diffs], Sun Sep 7 21:28:16 2003 UTC (20 years, 6 months ago) by scw
Branch: MAIN
Changes since 1.9: +4 -3 lines
Diff to previous 1.9 (colored)

Cast from pointer type to db_addr_t via intptr_t.

Revision 1.9 / (download) - annotate - [select for diffs], Sun Aug 3 19:14:59 2003 UTC (20 years, 7 months ago) by he
Branch: MAIN
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored)

On second thought, callout_stop() should not clear the INVOKING flag.

Revision 1.8 / (download) - annotate - [select for diffs], Sun Jul 20 16:25:58 2003 UTC (20 years, 7 months ago) by he
Branch: MAIN
Changes since 1.7: +6 -6 lines
Diff to previous 1.7 (colored)

Temporarily introduce CALLOUT_INVOKING, callout_invoking() and callout_ack()
to make users of the callout facility able to cooperate to work around the
race caused by the callout code lowering interrupt priority level when
invoking callout handlers, something which allows other code to run before
the callout handler gets to it's spl*() call.

This is to enable the workaround for the TCP code found in PR#20390 to be
applied.

This should be backed out once a more comprehensive fix can be put in
place.

Revision 1.7 / (download) - annotate - [select for diffs], Mon Jul 14 14:59:01 2003 UTC (20 years, 7 months ago) by lukem
Branch: MAIN
Changes since 1.6: +4 -1 lines
Diff to previous 1.6 (colored)

add missing __KERNEL_RCSID()

Revision 1.6 / (download) - annotate - [select for diffs], Sat May 17 15:53:42 2003 UTC (20 years, 9 months ago) by mjl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

Typos in comments.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Feb 26 23:13:19 2003 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.4: +12 -4 lines
Diff to previous 1.4 (colored)

Change a printf to an event counter.  Callout event counters are conditional
on CALLOUT_EVENT_COUNTERS.

Revision 1.4 / (download) - annotate - [select for diffs], Tue Feb 11 09:43:37 2003 UTC (21 years ago) by yamt
Branch: MAIN
Changes since 1.3: +6 -4 lines
Diff to previous 1.3 (colored)

- don't compare c_time directly.
- in callout_hardclock, test if timeout_todo is empty or not
  before release the lock.

Revision 1.3 / (download) - annotate - [select for diffs], Mon Feb 10 19:18:56 2003 UTC (21 years ago) by drochner
Branch: MAIN
Changes since 1.2: +6 -6 lines
Diff to previous 1.2 (colored)

replace &(a?b:c) by (a?&b:&c), so that it looks more like an lvalue
(to lint at least)
approved by thorpej

Revision 1.2 / (download) - annotate - [select for diffs], Tue Feb 4 10:14:53 2003 UTC (21 years, 1 month ago) by martin
Branch: MAIN
Changes since 1.1: +3 -3 lines
Diff to previous 1.1 (colored)

Format fix for archs where ptrdiff_t != int.

Revision 1.1 / (download) - annotate - [select for diffs], Tue Feb 4 01:21:05 2003 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN

New callout implementation.  This is based on callwheel implementation
done by Artur Grabowski and Thomas Nordin for OpenBSD, which is more
efficient in several ways than the callwheel implementation that it is
replacing.  It has been adapted to our pre-existing callout API, and
also provides the slightly more efficient (and much more intuitive)
API (adapted to the callout_*() naming scheme) that the OpenBSD version
provides.

Among other things, this shaves a bunch of cycles off rescheduling-in-
the-future a callout which is already scheduled, which the common case
for TCP timers (notably REXMT and KEEP).

The API has been simplified a bit, as well.  The (very confusing to
a good many people) "ACTIVE" state for callouts has gone away.  There
is now only "PENDING" (scheduled to fire in the future) and "EXPIRED"
(has fired, and the function called).

Kernel version bump not done; we'll ride the 1.6N bump that happened
with the malloc(9) change.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>