jhb [Fri, 19 Jan 2001 08:23:22 +0000 (08:23 +0000)]
Revert revision 1.102. I don't think p_nice needs to be protected with
sched_lock, and I'm fairly certain P_TRACED will be protected with the
proc lock instead.
dillon [Fri, 19 Jan 2001 05:31:07 +0000 (05:31 +0000)]
Do not cluster with B_LOCKED buffers.
This is an odd one. This patch appears to fix a panic related to background
bitmap writes (for FFS), though neither Kirk, Ian, or I can figure out how
B_CLUSTEROK could possibly be set on a bitmap block to cause the clustering
code to improperly cluster with a buffer undergoing a background write.
In anycase, the clustering code is very fragile and this patch helps with
that, as well as possibly fixing a bug Andre was having.
Suggested by: Ian Dowse <iedowse@maths.tcd.ie>
Testing by: Andre Albsmeier <andre.albsmeier@mchp.siemens.de>
bmilekic [Fri, 19 Jan 2001 01:59:14 +0000 (01:59 +0000)]
Implement MTX_RECURSE flag for mtx_init().
All calls to mtx_init() for mutexes that recurse must now include
the MTX_RECURSE bit in the flag argument variable. This change is in
preparation for an upcoming (further) mutex API cleanup.
The witness code will call panic() if a lock is found to recurse but
the MTX_RECURSE bit was not set during the lock's initialization.
The old MTX_RECURSE "state" bit (in mtx_lock) has been renamed to
MTX_RECURSED, which is more appropriate given its meaning.
The following locks have been made "recursive," thus far:
eventhandler, Giant, callout, sched_lock, possibly some others declared
in the architecture-specific code, all of the network card driver locks
in pci/, as well as some other locks in dev/ stuff that I've found to
be recursive.
bmah [Thu, 18 Jan 2001 19:25:40 +0000 (19:25 +0000)]
New release notes: Condition variables in kernel, ConnectionsPerPeriod
deprecated in sshd_config, cdcontrol(1) and CDROM, sysctl -N,
ports "origin", sysinstall->/usr/sbin.
Note MFC for LinkSys cards note, clarify and MFC syslogd(8) and
LOG_CONSOLE.
sos [Thu, 18 Jan 2001 15:20:18 +0000 (15:20 +0000)]
When blocksize is set to 2352, alwas read 2352 bytes.
This means it might read more than just data, but that is exactly
what we want here (for reading VCD's fx)
peter [Thu, 18 Jan 2001 07:42:02 +0000 (07:42 +0000)]
Deal with table parsing bugs caused by out-of-order record entries.
Complain about out-of-order entries. This fixes the 'mp extended
table HOSED!" report on the DL360 we have here with the "fixed" compaq
bios rom to fix the table length off-by-one error.
itojun [Thu, 18 Jan 2001 06:07:53 +0000 (06:07 +0000)]
workaround; be sure to initialize nd6 interface information when IPv6
interface address gets added. this will avoid presenting EMSGSIZE when
outgoing interface is down (and never brought up).
jedgar [Wed, 17 Jan 2001 20:51:16 +0000 (20:51 +0000)]
- Reverse the order of two loop invariant to ensure strlcat() does not
attempt to read memory when siz is 0
- Clarify comments referring to strlcat() usage
PR: 24278, 24295
Submitted by: Tony Finch <dot@dotat.at>
Richard Kettlewell <rjk@greenend.org.uk>
Reviewed by: -audit
ben [Wed, 17 Jan 2001 19:20:58 +0000 (19:20 +0000)]
Merge the documentation for sigsetmask() and sigblock() into a
single manual page, appropriately linked, since this removes the
decision of which page the (previously non-existent) sigmask.2
MLINK should point at.
imp [Wed, 17 Jan 2001 17:59:09 +0000 (17:59 +0000)]
Catchup from my holiday lull:
o libcrypt not a symlink.
o hw.sndunit -> hw.snd.unit
o burncd / kernel changes
o I386_CPU now mutually exclusive with all other CPU types.
dmlb [Wed, 17 Jan 2001 17:55:00 +0000 (17:55 +0000)]
Take advantage of the fixes to the pcic code that allows multiple
active memory maps. This removes the need to change the memory
map from common to attribute every time a packet is sent/received.
This increases performance and decreases cpu load (ping times on
slow machines improve by about 1.5ms).
Move out the old common memory/attrbiute memory hack functions to a
new header file to tidy up the main code. I want to keep them available
for a while.
jhb [Wed, 17 Jan 2001 07:13:40 +0000 (07:13 +0000)]
- sysinstall now gets built as part of world, so don't throw in extra
commands to build sysinstall manually during release.
- Get the sysinstall help files from /usr/src/usr.sbin/sysinstall/help
rather than ${.CURDIR}/sysinstall/help.
bde [Wed, 17 Jan 2001 04:10:06 +0000 (04:10 +0000)]
Removed unused copy of ../mount/getmtopts.3.
Removed used copies of ../mount/getmntopts.c ../mount/mntopts.h. Use the
versions in ../mount directly like all other mount utilities.
Removed used copy of ../mount/pathnames.h. Use the version in ../mount
for free as a side effect of using the mntopts files there. We should
not use it at all, since the 2/3 of the definitions in it are in <paths.h>
and the other 1/3 should be in ../mountd/pathnames.h and is not used by
mount_ifs anyway.
jhb [Wed, 17 Jan 2001 03:32:00 +0000 (03:32 +0000)]
- We live in /usr/sbin now, so don't set special veriables to build a
static version that installs in /stand. Also, don't use an extra
before-install target to create /stand.
- Add missing $FreeBSD$.
- Fix dependencies to handle keymap.h. (*)
jhb [Wed, 17 Jan 2001 02:15:11 +0000 (02:15 +0000)]
- Sort of lie and say that %eax is an output only and not an input for the
non-386 atomic_load_acq(). %eax is an input since its value is used in
the cmpxchg instruction, but we don't care what value it is, so setting
it to a specific value is just wasteful. Thus, it is being used without
being initialized as the warning stated, but it is ok for it to be used
because its value isn't important. Thus, we are only sort of lying when
we say it is an output only operand.
- Add "cc" to the clobber list for atomic_load_acq() since the cmpxchgl
changes ZF.
luigi [Wed, 17 Jan 2001 01:09:40 +0000 (01:09 +0000)]
Document data structures and operation on dummynet so next time
I or someone else browse through this code I do not have a hard
time understanding what is going on.
peter [Wed, 17 Jan 2001 00:47:46 +0000 (00:47 +0000)]
Special case for compiling LINT - just give a warning and continue on.
At least we have a chance at getting test compile coverage for the rest
of the kernel now.
luigi [Tue, 16 Jan 2001 23:49:49 +0000 (23:49 +0000)]
Some dummynet patches that I forgot to commit last summer.
One of them fixes a potential panic when bridging is used and
you run out of mbufs (though i have no idea if the bug has
ever hit anyone).
ben [Tue, 16 Jan 2001 22:09:33 +0000 (22:09 +0000)]
Ooops, the -M and -N flags were already documented, though not very clearly.
Remove the old description in favour of the new description which lists the
-M and -N flags along with all the other flags. This is consistent with the
manual pages for ps, netstat, iostat, etc.
hm [Tue, 16 Jan 2001 13:10:51 +0000 (13:10 +0000)]
Enhance find_matching_entry_incoming() to check if the controller, on
which the call gets in, matches the one given in the entry section, or
-1 for any controller.
peter [Tue, 16 Jan 2001 09:10:34 +0000 (09:10 +0000)]
Stop doing runtime checking on i386 cpus for cpu class. The cpu is
slow enough as it is, without having to constantly check that it really
is an i386 still. It was possible to compile out the conditionals for
faster cpus by leaving out 'I386_CPU', but it was not possible to
unconditionally compile for the i386. You got the runtime checking whether
you wanted it or not. This makes I386_CPU mutually exclusive with the
other cpu types, and tidies things up a little in the process.
Reviewed by: alfred, markm, phk, benno, jlemon, jhb, jake, grog, msmith,
jasone, dcs, des (and a bunch more people who encouraged it)
sobomax [Tue, 16 Jan 2001 08:27:28 +0000 (08:27 +0000)]
- Fix a nasty bug where pkg_create doesn't gzip package if lengh of package
name is less than 5 and doesn't contain recognizeable suffix (one of .tar or
.tgz), while gzip's it if lengh of the name greater than 4. For example
`pkg_create [options] pkg1' will create pkg1.tar, while
`pkg_create [options] pkg11' will create pkg11.tgz;
- use TRUE/FALSE as a values for boolean variables instead of explicit 1/0 and
erroneous YES in one case.
jhb [Tue, 16 Jan 2001 03:45:54 +0000 (03:45 +0000)]
- Use "+a" instead of "=&a" for several constraints. This should fix
compiling errors where gcc would run out of registers.
- Add "cc" to the list of clobbers for micro-ops where we perform
instructions that alter %eflags.
- Use xchgl instead of cmpxchgl to release a spin lock. This could allow
for more efficient register allocation as we no longer mandate that %eax
be used.
- Reenable the optimized mutex micro-ops in the non-i386 case.