ƒ´130209 182 161 118 1015 134 135 274 217 314 292 157 598 806 261 127 365 434 189 186 160 149 445 402 226 309 850 164 197 281 551 171 121 145 145 197 249 183 178 179 277 156 199 154 211 156 260 262 200 1290 424 113 141 131 457 117 163 236 116 127 133 238 321 155 212 199 547 620 180 100 212 1295 162 301 293 164 209 162 1330 204 106 258 906 304 422 199 565 185 126 116 146 136 173 175 155 129 133 239 172 166 175 164 182 169 153 185 391 133 147 1864 181 371 308 1169 303 173 137 652 241 228 316 218 212 126 194 209 489 381 337 162 301 190 186 208 181 145 142 253 221 140 114 122 203 221 282 223 167 246 121 263 216 324 112 551 256 203 826 204 887 240 191 807 353 130 310 385 119 836 138 180 185 257 160 613 310 170 156 1123 305 319 858 1051 133 130 K 10 svn:author V 3 yar K 8 svn:date V 27 2004-06-07T21:43:14.000000Z K 7 svn:log V 69 Extend and improve the mdoc(7) markup of this page. Reviewed by: ru END K 10 svn:author V 3 njl K 8 svn:date V 27 2004-06-07T21:44:01.000000Z K 7 svn:log V 26 Remove accidental change. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2004-06-07T21:45:44.000000Z K 7 svn:log V 918 Correct a resource leak introduced in recent accept locking changes: when I reordered events in accept1() to allocate a file descriptor earlier, I didn't properly update use of goto on exit to unwind for cases where the file descriptor is now held, but wasn't previously. The result was that, in the event of accept() on a non-blocking socket, or in the event of a socket error, a file descriptor would be leaked. This ended up being non-fatal in many cases, as the file descriptor would be properly GC'd on process exit, so only showed up for processes that do a lot of non-blocking accept() calls, and also live for a long time (such as qmail). This change updates the use of goto targets to do additional unwinding. Eyes provided by: Brian Feldman Feet, hands provided by: Stefan Ehmann , Dimitry Andric Arjan van Leeuwen END K 10 svn:author V 3 yar K 8 svn:date V 27 2004-06-07T21:48:02.000000Z K 7 svn:log V 42 Each sentence should begin on a new line. END K 10 svn:author V 3 yar K 8 svn:date V 27 2004-06-07T21:52:20.000000Z K 7 svn:log V 43 Use ".In" to mark up C include file names. END K 10 svn:author V 3 gad K 8 svn:date V 27 2004-06-07T21:53:27.000000Z K 7 svn:log V 181 Drop the include for , it was only needed when this was using __DECONST() for something, and that reference has been removed. Noticed by: Helge Oldach MFC after: 13 days END K 10 svn:author V 6 julian K 8 svn:date V 27 2004-06-07T22:11:12.000000Z K 7 svn:log V 121 Now that mbufs are allocated using uma, don't check for accidental usage of mbuf 'how' flags as they are the same thing. END K 10 svn:author V 6 murray K 8 svn:date V 27 2004-06-07T22:45:59.000000Z K 7 svn:log V 218 Additions to the known hardware problems list should be sent to doc@ rather than jkh@. This section was reorganized in 5.X so the change is not necessary there. Noticed by: "Ted Mittelstaedt" END K 10 svn:author V 6 murray K 8 svn:date V 27 2004-06-07T22:57:05.000000Z K 7 svn:log V 196 Note that FIPS does not work on extended partitions, and that Windows 95/98/ME FAT32 primary partition ARE supported. Submitted by: "Ted Mittelstaedt" MFC After: 1 week END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-07T23:47:59.000000Z K 7 svn:log V 63 Be a little more consistent in the naming of the PML4 defines. END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-07T23:51:20.000000Z K 7 svn:log V 503 Fix a serious problem that manifested during swap, and a few other times. pmap_remove() would be called with a huge range and we'd stride across it in only 2MB chunks. This would manifest as massive cpu time and a largely unresponsive system during hard swap. Instead, check the higher page directories which means we can run pmap_remove() in just a few hundred loop iterations instead of millions since we can process address space in chunks of 512GB and 1GB as well as 2MB. Eternal thanks to: tmm END K 10 svn:author V 3 gad K 8 svn:date V 27 2004-06-08T00:11:26.000000Z K 7 svn:log V 713 MFC *: Fix the kludge-old-options processing so `ps tpt' will be treated the same as `ps -tpt', instead of being changed into `ps -tpT'. Also adjust it so `ps t p0' is treated like `ps -t p0', instead of making it `ps -T p0'. This includes the rewrite of the kludge-option processing, but it does NOT remove the long-undocumented BACKWARD_COMPATIBILITY compile-time option. If you delete the '#define BACKWARD_COMPATIBILITY' line, you'll get the newer handling for "extra arguments", which is to treat them as requests for processes. Also brings in a number of style(9) improvements. [* = 1.90 & 1.92 -> 1.98 ps.c] PR: bin/52489 (for `ps tpt' and `ps t p0') Submitted by: Jilles Tjoelker ( " ) END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-08T00:11:32.000000Z K 7 svn:log V 166 Use trunc_page(va) when we mean it rather than anding it with PG_FRAME (which doesn't work all that well when there are bits at the top that are masked by PG_FRAME) END K 10 svn:author V 8 kientzle K 8 svn:date V 27 2004-06-08T00:23:27.000000Z K 7 svn:log V 30 Correct some spelling errors. END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-08T00:29:42.000000Z K 7 svn:log V 270 Mask pte's with PG_FRAME before passing it to PHYS_TO_VM_PAGE().. PG_NX lives in the top 12 'available' bits. atop() in the PHYS_TO_VM_PAGE() macro only masks off the lower bits (by accident) and the upper bits in the 64 bit ptes turn into "interesting" index values. END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-08T01:02:52.000000Z K 7 svn:log V 339 Initial PG_NX support (no-execute page bit) - export the rest of the cpu features (and amd's features). - turn on EFER_NXE, depending on the NX amd feature bit - reorg the identcpu stuff a bit in order to stop treating the amd features as second class features (since it is now a primary feature bit set) and make it easier to export. END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-08T01:07:51.000000Z K 7 svn:log V 95 Set up the fpu *after* enabling SSE mode on AP's Submitted by: (argh, I can't find the email) END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-08T01:14:39.000000Z K 7 svn:log V 92 Reapply rev 1.151 after enable sse/fpuinit order fixed in mp_machdep.c Obtained from: das END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-08T01:20:37.000000Z K 7 svn:log V 66 Argh. Remove stray number that slipped into the previous commit. END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-08T01:35:48.000000Z K 7 svn:log V 55 Fix my silly typo in asm statement in previous commit. END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-08T02:20:40.000000Z K 7 svn:log V 350 In pmap_extract_and_hold(), there is no need to mask off PG_FRAME because pmap_extract() already does it. In pmap_enter(), opa has already been masked so don't do it again. Wrap a long line (recent transgression). Use trunc_page() in pmap_mapdev() instead of anding with PG_FRAME, since that is what we really meant. Submitted by: alc (first item) END K 10 svn:author V 3 das K 8 svn:date V 27 2004-06-08T05:44:52.000000Z K 7 svn:log V 309 Set errno to EBADF on attempts to write to a stream that is not writable. Affected callers include fwrite(), put?(), and *printf(). The issue of whether this is the right errno for funopened streams is unresolved, but that's an obscure case, and some errno is better than no errno. Discussed with: bde, jkh END K 10 svn:author V 3 das K 8 svn:date V 27 2004-06-08T05:45:32.000000Z K 7 svn:log V 133 Rename cantwrite() to prepwrite(). The latter is less confusing, since the macro isn't really a predicate, and it has side-effects. END K 10 svn:author V 3 das K 8 svn:date V 27 2004-06-08T05:45:48.000000Z K 7 svn:log V 216 Rename cantwrite() to prepwrite(). The latter is less confusing, since the macro isn't really a predicate, and it has side-effects. Also, don't set errno if prepwrite() fails, since this is done in prepwrite() now. END K 10 svn:author V 3 das K 8 svn:date V 27 2004-06-08T06:23:23.000000Z K 7 svn:log V 757 In fts_build(), if we try to chdir and fail (e.g. due to lack of search permission), try to continue in FTS_DONTCHDIR mode. Of course this won't work for long paths, but we can't descend more than one pathname component beyond the directory anyway if we lack search permission. Here is a transcript demonstrating the change, where oldls is ls(1) linked with the old fts(3): das@VARK:~> mkdir t && touch t/{a,b,c} && chmod u-x t das@VARK:~> oldls t a b c das@VARK:~> oldls -l t das@VARK:~> \ls t a b c das@VARK:~> \ls -l t ls: a: Permission denied ls: b: Permission denied ls: c: Permission denied I had forgotten about this patch until bde reminded me. He reports using it without problems for over a year. PR: 45723 END K 10 svn:author V 3 yar K 8 svn:date V 27 2004-06-08T08:48:49.000000Z K 7 svn:log V 72 Describe how polling(4) applies to network interfaces. Reviewed by: ru END K 10 svn:author V 3 yar K 8 svn:date V 27 2004-06-08T09:01:37.000000Z K 7 svn:log V 104 Make the legend to the table of interface flags compact for the reader's convenience. Suggested by: ru END K 10 svn:author V 3 das K 8 svn:date V 27 2004-06-08T09:27:42.000000Z K 7 svn:log V 188 Remove from the printfns the assumption that dp->list != NULL. Even if there are no entries, these functions may be called to print the total number of blocks (0) for consistency's sake. END K 10 svn:author V 3 das K 8 svn:date V 27 2004-06-08T09:30:10.000000Z K 7 svn:log V 458 If we are asked to print the total number of blocks, do so even if we have no entries to print (either due to an empty directory or an error). This makes the -l and -s options more consistent, like Solaris and (Debian) Linux. To make this happen, tweak two optimizations on the second call to display(): - Don't skip display() altogether, even if list == NULL. - Don't skip the call to the printfn in display() if we need to print the total. PR: 45723 END K 10 svn:author V 3 yar K 8 svn:date V 27 2004-06-08T09:54:53.000000Z K 7 svn:log V 79 Touch .Dd (date) since new functionality has been documented. Reminded by: ru END K 10 svn:author V 3 tjr K 8 svn:date V 27 2004-06-08T10:37:30.000000Z K 7 svn:log V 29 Remove remnants of PGINPROF. END K 10 svn:author V 3 rik K 8 svn:date V 27 2004-06-08T10:38:20.000000Z K 7 svn:log V 53 1. struct tty => struct tty *tty. Requested by: phk END K 10 svn:author V 5 joerg K 8 svn:date V 27 2004-06-08T11:58:34.000000Z K 7 svn:log V 51 Implement the BREAK_TO_DEBUGGER option for sab(4). END K 10 svn:author V 7 stefanf K 8 svn:date V 27 2004-06-08T12:03:48.000000Z K 7 svn:log V 100 The third operand of the conditional operator should have type void too. Approved by: das (mentor) END K 10 svn:author V 7 stefanf K 8 svn:date V 27 2004-06-08T12:11:19.000000Z K 7 svn:log V 152 - Don't use argv[i] when i is uninitialised. - Cast isdigit's argument to unsigned char. - Remove the now unused variable i. Approved by: das (mentor) END K 10 svn:author V 7 stefanf K 8 svn:date V 27 2004-06-08T12:20:40.000000Z K 7 svn:log V 87 Remove a couple of casts added for an ancient Sun compiler. Approved by: das (mentor) END K 10 svn:author V 7 stefanf K 8 svn:date V 27 2004-06-08T12:24:47.000000Z K 7 svn:log V 82 Signal handlers are supposed to take an int parameter. Approved by: das (mentor) END K 10 svn:author V 7 stefanf K 8 svn:date V 27 2004-06-08T13:08:19.000000Z K 7 svn:log V 83 Avoid assignments to cast expressions. Reviewed by: md5 Approved by: das (mentor) END K 10 svn:author V 3 hmp K 8 svn:date V 27 2004-06-08T13:15:01.000000Z K 7 svn:log V 184 Move the call to FUNLOCKFILE(fp) after modification of the fp's fields. Reviewed by: Daniel Eischen , Robert Watson END K 10 svn:author V 7 stefanf K 8 svn:date V 27 2004-06-08T13:46:31.000000Z K 7 svn:log V 60 Remove an #if section originally written for Sun compilers. END K 10 svn:author V 4 csjp K 8 svn:date V 27 2004-06-08T14:52:55.000000Z K 7 svn:log V 105 Add note that rmuser will clean up any IPC mechanisms owned by the user. Approved by: bmilekic (mentor) END K 10 svn:author V 8 brueffer K 8 svn:date V 27 2004-06-08T17:36:17.000000Z K 7 svn:log V 57 Fix typo Obtained from: DragonFly BSD MFC after: 3 days END K 10 svn:author V 6 obrien K 8 svn:date V 27 2004-06-08T19:53:25.000000Z K 7 svn:log V 115 Back out rev 1.3. This is one of the few RC scripts that doesn't use rc.subr, and thus doesn't source rc.conf. :-( END K 10 svn:author V 8 dwmalone K 8 svn:date V 27 2004-06-08T21:16:42.000000Z K 7 svn:log V 59 MFC: Make the comment for DLT_NULL slightly more accurate. END K 10 svn:author V 7 darrenr K 8 svn:date V 27 2004-06-08T23:52:22.000000Z K 7 svn:log V 163 Recognise NOINET6 as an indication to not build IPv6 enabled source even if FreeBSD header files, etc, support it. Submitted by: Sergey Mokryshev END K 10 svn:author V 5 naddy K 8 svn:date V 27 2004-06-09T00:25:44.000000Z K 7 svn:log V 167 * Fix multicast reception. * Replace handrolled crc calculation with ether_crc32_le(). Based on: PR: 67544 Submitted by: HASHI Hiroaki END K 10 svn:author V 5 naddy K 8 svn:date V 27 2004-06-09T00:30:11.000000Z K 7 svn:log V 105 Replace convoluted and broken CRC calcuation with ether_crc32_le(). This should fix multicast reception. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2004-06-09T02:48:23.000000Z K 7 svn:log V 1192 Introduce a netisr to deliver kernel-generated routing, avoiding recursive entering of the socket code from the routing code: - Modify rt_dispatch() to bundle up the sockaddr family, if any, associated with a pending mbuf to dispatch to routing sockets, in an m_tag on the mbuf. - Allocate NETISR_ROUTE for use by routing sockets. - Introduce rtsintrq, an ifqueue to be used by the netisr, and introduce rts_input(), a function to unbundle the tagged sockaddr and inject the mbuf and address into raw_input(), which previously occurred in rt_dispatch(). - Introduce rts_init() to initialize rtsintrq, its mutex, and register the netisr. Perform this at the same point in system initialization as setup of the domains. This change introduces asynchrony between the generation of a pending routing socket message and delivery to sockets for use by userspace. It avoids socket->routing->rtsock->socket use and helps to avoid lock order reversals between the routing code and socket code (in particular, raw socket control blocks), as route locks are held over calls to rt_dispatch(). Reviewed by: "George V.Neville-Neil" Conceptual head nod by: sam END K 10 svn:author V 3 imp K 8 svn:date V 27 2004-06-09T06:31:40.000000Z K 7 svn:log V 331 Only match cards that claim to be network cards. I've had two different cards that matched vendor/id, but weren't wi cards. This is because the vendor foolishly didn't have unique product ids. Symbol has a serial card that would otherwise match the wi driver, for example... Taken from a patch for xe posted by: Carlos Velasco END K 10 svn:author V 6 obrien K 8 svn:date V 27 2004-06-09T08:27:05.000000Z K 7 svn:log V 18 style.Makefile(5) END K 10 svn:author V 3 phk K 8 svn:date V 27 2004-06-09T09:09:54.000000Z K 7 svn:log V 49 Move PTY private defines into PTY private files. END K 10 svn:author V 3 phk K 8 svn:date V 27 2004-06-09T09:29:08.000000Z K 7 svn:log V 39 Fix a race in destruction of sessions. END K 10 svn:author V 3 phk K 8 svn:date V 27 2004-06-09T09:41:30.000000Z K 7 svn:log V 364 Reference count struct tty. Add two new functions: ttyref() and ttyrel(). ttymalloc() creates a struct tty with a reference count of one. when ttyrel sees the count go to zero, struct tty is freed. Hold references for open ttys and for ttys which are controlling terminal for sessions. Until drivers start using ttyrel(), this commit will make no difference. END K 10 svn:author V 3 phk K 8 svn:date V 27 2004-06-09T10:16:14.000000Z K 7 svn:log V 25 Ditch K&R function style END K 10 svn:author V 3 phk K 8 svn:date V 27 2004-06-09T10:21:53.000000Z K 7 svn:log V 71 Rename struct pt_ioctl to "ptsc" and pointers to it from "pti" to "pt" END K 10 svn:author V 3 das K 8 svn:date V 27 2004-06-09T10:32:05.000000Z K 7 svn:log V 143 Include earlier to get the various visibility constants. Previously, we were relying on to include it implicitly. END K 10 svn:author V 3 den K 8 svn:date V 27 2004-06-09T10:56:32.000000Z K 7 svn:log V 24 Update copyright years. END K 10 svn:author V 2 le K 8 svn:date V 27 2004-06-09T11:24:00.000000Z K 7 svn:log V 36 MFC 1.77: Plug small memory leak. END K 10 svn:author V 3 phk K 8 svn:date V 27 2004-06-09T12:20:44.000000Z K 7 svn:log V 41 Update kvm mode to match kernel changes. END K 10 svn:author V 8 dwmalone K 8 svn:date V 27 2004-06-09T12:45:51.000000Z K 7 svn:log V 140 Add some more details about what traceroute6 does. Submitted by: Orla McGann Obtained from: KAME MFC after: 2 weeks END K 10 svn:author V 8 jmallett K 8 svn:date V 27 2004-06-09T14:06:44.000000Z K 7 svn:log V 223 Add a comment explaining td_critnest's initial state and its life from that point on, as it happens relatively indirectly, and in a codepath the casual reader may not be acquainted with or find obvious. Glanced at by: jhb END K 10 svn:author V 5 naddy K 8 svn:date V 27 2004-06-09T14:34:04.000000Z K 7 svn:log V 61 Replace handrolled CRC calculation with ether_crc32_[lb]e(). END K 10 svn:author V 3 mux K 8 svn:date V 27 2004-06-09T14:53:35.000000Z K 7 svn:log V 119 Fix a panic happening when m_getm() is called with len < MCLBYTES. Reported by: ale Tested by: ale Reviewed by: bosko END K 10 svn:author V 2 le K 8 svn:date V 27 2004-06-09T15:40:00.000000Z K 7 svn:log V 107 Remove duplicate #include. PR: misc/67748 Submitted by: bugghy END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2004-06-09T16:01:59.000000Z K 7 svn:log V 452 Add some special case code to fix a problem with the BCM5704 in TBI (fiber) mode. The 5704 apparently has some s00p3r s33kr1t registers for setting the advertisement of pause frame ability (i.e flow control) when in autoneg mode. If we don't set these registers correctly, we may not be able to negotiate a proper link with some switches. (Symptom is that the NIC reports the link as up (PCS synched) but no traffic can be exchanged.) PR: kern/67598 END K 10 svn:author V 3 imp K 8 svn:date V 27 2004-06-09T16:08:20.000000Z K 7 svn:log V 527 Step 1 in moving EISA devices to kobj/newbus. Use kobj methods for all of the interface between the driver and the bus. This will enable us to stop special casing eisa bus attachments in modules and treat them like we treat all other busses. In the longer run, we need to eliminate much (all?) of these interfaces and switch to using the standard bus_alloc_resource(), but that's not done right now. # I've not updated the modules to include eisa, etc, just yet Tested on: Compaq Proliant 3000/333 purchased for eisa work END K 10 svn:author V 3 imp K 8 svn:date V 27 2004-06-09T16:56:22.000000Z K 7 svn:log V 88 When adding files to the repo, it is very important to not forget the cvs add function. END K 10 svn:author V 5 maxim K 8 svn:date V 27 2004-06-09T17:10:41.000000Z K 7 svn:log V 7 Style. END K 10 svn:author V 3 rik K 8 svn:date V 27 2004-06-09T17:58:51.000000Z K 7 svn:log V 119 Check if we control device. Else we will go to panic cause we don't have properly initialized dev_t structure at open. END K 10 svn:author V 8 bmilekic K 8 svn:date V 27 2004-06-09T19:18:50.000000Z K 7 svn:log V 1196 Make the slabrefzone, the zone from which we allocated slabs with internal reference counters, UMA_ZONE_NOFREE. This way, those slabs (with their ref counts) will be effectively type-stable, then using a trick like this on the refcount is no longer dangerous: MEXT_REM_REF(m); if (atomic_cmpset_int(m->m_ext.ref_cnt, 0, 1)) { if (m->m_ext.ext_type == EXT_PACKET) { uma_zfree(zone_pack, m); return; } else if (m->m_ext.ext_type == EXT_CLUSTER) { uma_zfree(zone_clust, m->m_ext.ext_buf); m->m_ext.ext_buf = NULL; } else { (*(m->m_ext.ext_free))(m->m_ext.ext_buf, m->m_ext.ext_args); if (m->m_ext.ext_type != EXT_EXTREF) free(m->m_ext.ref_cnt, M_MBUF); } } uma_zfree(zone_mbuf, m); Previously, a second thread hitting the above cmpset might actually read the refcnt AFTER it has already been freed. A very rare occurance. Now we'll know that it won't be freed, though. Spotted by: julian, pjd END K 10 svn:author V 3 hmp K 8 svn:date V 27 2004-06-09T19:24:22.000000Z K 7 svn:log V 70 Revert previous commit regarding FUNLOCKFILE(fp), it has ill effects. END K 10 svn:author V 3 phk K 8 svn:date V 27 2004-06-09T19:44:44.000000Z K 7 svn:log V 208 Make the sysctl kern.geom.collectstats more granular. Bit 0 controls statistics collection on GEOM providers. Bit 1 controls statistics collection on GEOM consumers. Default value is 1. Prodded by: scottl END K 10 svn:author V 2 ru K 8 svn:date V 27 2004-06-09T20:10:38.000000Z K 7 svn:log V 201 Introduce a new feature to IPFW2: lookup tables. These are useful for handling large sparse address sets. Initial implementation by Vsevolod Lobko , refined by me. MFC after: 1 week END K 10 svn:author V 3 des K 8 svn:date V 27 2004-06-09T20:14:53.000000Z K 7 svn:log V 72 List of files and directories to delete before importing a new release. END K 10 svn:author V 8 bmilekic K 8 svn:date V 27 2004-06-09T20:50:08.000000Z K 7 svn:log V 111 Backout previous change, I think Julian has a better solution which does not require type-stable refcnts here. END K 10 svn:author V 3 des K 8 svn:date V 27 2004-06-09T20:51:26.000000Z K 7 svn:log V 70 The list of files / directories to remove has moved to FREEBSD-Xlist. END K 10 svn:author V 3 das K 8 svn:date V 27 2004-06-09T21:24:52.000000Z K 7 svn:log V 1236 Fix a bug where rintf() rounded the wrong way in round-to-nearest mode on all inputs of the form x.75, where x is an even integer and log2(x) = 21. A similar problem occurred when rounding upward. The bug involves the following snippet copied from rint(): i>>=1; if((i0&i)!=0) i0 = (i0&(~i))|((0x100000)>>j0); The constant 0x100000 should be 0x200000. Apparently this case was never tested. It turns out that the bit manipulation is completely superfluous anyway, so remove it. (It tries to simulate 90% of the rounding process that the FPU does anyway.) Also, the special case of +-0 is handled twice (in different ways), so remove the second instance. Throw in some related simplifications from bde: - Work around a bug where gcc fails to clip to float precision by declaring two float variables as volatile. Previously, we tricked gcc into generating correct code by declaring some float constants as doubles. - Remove additional superfluous bit manipulation. - Minor reorganization. - Include explicitly. Note that some of the equivalent lines in rint() also appear to be unnecessary, but I'll defer to the numerical analysts who wrote it, since I can't test all 2^64 cases. Discussed with: bde END K 10 svn:author V 3 imp K 8 svn:date V 27 2004-06-09T21:51:02.000000Z K 7 svn:log V 111 Add eisa_if.h to the list of things to build for new eisa_if.m for the case where we build modules with world. END K 10 svn:author V 3 imp K 8 svn:date V 27 2004-06-09T21:52:12.000000Z K 7 svn:log V 14 Add eisa_if.h END K 10 svn:author V 6 marius K 8 svn:date V 27 2004-06-10T00:04:16.000000Z K 7 svn:log V 162 - Remove a variable no longer used after the conversion to ether_crc32_le(). - While here, save on another one no longer really necessary after the conversion. END K 10 svn:author V 8 bmilekic K 8 svn:date V 27 2004-06-10T00:04:27.000000Z K 7 svn:log V 808 Plug a race where upon free this scenario could occur: (time grows downward) thread 1 thread 2 ------------|------------ dec ref_cnt | | dec ref_cnt <-- ref_cnt now zero cmpset | free all | return | | alloc again,| reuse prev | ref_cnt | | cmpset, read | already freed | ref_cnt ------------|------------ This should fix that by performing only a single atomic test-and-set that will serve to decrement the ref_cnt, only if it hasn't changed since the earlier read, otherwise it'll loop and re-read. This forces ordering of decrements so that truly the thread which did the LAST decrement is the one that frees. This is how atomic-instruction-based refcnting should probably be handled. Submitted by: Julian Elischer END K 10 svn:author V 6 marius K 8 svn:date V 27 2004-06-10T00:06:04.000000Z K 7 svn:log V 208 - Add a LLADDR() forgotten in the conversion to ether_crc32_le(). - Remove a variable no longer used after the conversion. - While here, save on another one no longer really necessary after the conversion. END K 10 svn:author V 7 iedowse K 8 svn:date V 27 2004-06-10T01:13:26.000000Z K 7 svn:log V 325 Initialise `restartcnt' in the newly malloc'd usbd_port structure, as otherwise the junk it contains may cause uhub_explore to give up without ever trying to restart the port. This fixes the following errors I was seeing with a VIA UHCI controller: uhub0: port error, restarting port 1 uhub0: port error, giving up port 1 END K 10 svn:author V 3 alc K 8 svn:date V 27 2004-06-10T04:30:59.000000Z K 7 svn:log V 106 MFamd64 Significantly reduce the number of preallocated pv entries in pmap_init(). Tested by: kensmith@ END K 10 svn:author V 6 scottl K 8 svn:date V 27 2004-06-10T05:11:39.000000Z K 7 svn:log V 469 Port the NetBSD esp(4) driver. This only includes the sbus front-end, so its primary use is for the FEPS/FAS366 SCSI found in Sun Ultra 1e and 2 machines. Once the pci front-end is ported, this driver can replace the amd(4) driver. The code as-is is fairly stable. I've disabled tagged-queueing until I can figure out a corruption bug related to it. I'm importing it now so that people with these machines can (finally) stop netbooting and report bugs before 5.3. END K 10 svn:author V 6 scottl K 8 svn:date V 27 2004-06-10T05:21:44.000000Z K 7 svn:log V 90 Add the esp(4) files. Two of them are sbus-specific and therefore only apply to sparc64. END K 10 svn:author V 6 scottl K 8 svn:date V 27 2004-06-10T05:24:34.000000Z K 7 svn:log V 31 Add esp to the sparc64 GENERIC END K 10 svn:author V 6 scottl K 8 svn:date V 27 2004-06-10T05:43:36.000000Z K 7 svn:log V 21 Add esp(4) to NOTES. END K 10 svn:author V 3 des K 8 svn:date V 27 2004-06-10T06:49:10.000000Z K 7 svn:log V 54 MFC (usbhid.h 1.11): add __BEGIN_DECLS / __END_DECLS. END K 10 svn:author V 2 ru K 8 svn:date V 27 2004-06-10T07:51:11.000000Z K 7 svn:log V 45 Fixed a bug spotted by compiling with -Wall. END K 10 svn:author V 6 marius K 8 svn:date V 27 2004-06-10T13:02:29.000000Z K 7 svn:log V 78 Fix typo that prevents esp_sbus.c and lsi64854.c from being built on sparc64. END K 10 svn:author V 2 ru K 8 svn:date V 27 2004-06-10T13:07:53.000000Z K 7 svn:log V 84 MFC: 1.29: Avoid a null pointer dereference if the .DEFAULT target has no commands. END K 10 svn:author V 3 rik K 8 svn:date V 27 2004-06-10T13:50:28.000000Z K 7 svn:log V 63 Free tty at detach(). Tested by: `pstat -t` Requested by: phk END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-10T19:02:42.000000Z K 7 svn:log V 35 Turn off cvs while import/merging. END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-10T19:05:38.000000Z K 7 svn:log V 39 Import cvs-1.11.17 onto vendor branch. END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-10T19:05:38.000000Z K 7 svn:log V 144 This commit was generated by cvs2svn to compensate for changes in r130303, which included commits to RCS files with non-trunk default branches. END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 2004-06-10T19:05:39.000000Z K 7 svn:log V 76 This commit was manufactured by cvs2svn to create tag 'cvs-vendor-v1_11_17'. END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 2004-06-10T19:05:40.000000Z K 7 svn:log V 70 This commit was manufactured by cvs2svn to create branch 'RELENG_5_2'. END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-10T19:12:50.000000Z K 7 svn:log V 81 Merge 1.11.15+ -> 1.11.17 changes onto mainline. I've left cvs.1 alone for now. END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-10T19:17:20.000000Z K 7 svn:log V 70 Turn cvs back on after import; that was less painful than I expected. END K 10 svn:author V 5 brian K 8 svn:date V 27 2004-06-10T19:33:26.000000Z K 7 svn:log V 88 Die if make buildworld fails -- don't wait 'till installworld can't find what it needs. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2004-06-10T20:03:46.000000Z K 7 svn:log V 77 Completely ignore disabled CPU entries as their APIC IDs tend to be invalid. END K 10 svn:author V 2 ru K 8 svn:date V 27 2004-06-10T20:20:37.000000Z K 7 svn:log V 62 init_tables() must be run after sys/net/route.c:route_init(). END K 10 svn:author V 3 jhb K 8 svn:date V 27 2004-06-10T20:31:00.000000Z K 7 svn:log V 93 Remove atdevbase and replace it's remaining uses with direct references to KERNBASE instead. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2004-06-10T20:43:04.000000Z K 7 svn:log V 298 - Use the correct devclass name ("acpi" vs "ACPI") to detect if acpi0 is present and thus that the PnPBIOS probe should be skipped instead of having ACPI zero out the PnPBIOStable pointer. - Make the PnPBIOStable pointer static to i386/i386/bios.c now that that is the only place it is used. END K 10 svn:author V 8 schweikh K 8 svn:date V 27 2004-06-10T21:03:34.000000Z K 7 svn:log V 36 Correct assorted typos and grammos. END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-10T21:30:08.000000Z K 7 svn:log V 53 Insta-MFi386: ignore disabled cpu apic id's entirely END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2004-06-10T21:34:38.000000Z K 7 svn:log V 1766 Introduce a subsystem lock around UNIX domain sockets in order to protect global and allocated variables. This strategy is derived from work originally developed by BSDi for BSD/OS, and applied to FreeBSD by Sam Leffler: - Add unp_mtx, a global mutex which will protect all UNIX domain socket related variables, structures, etc. - Add UNP_LOCK(), UNP_UNLOCK(), UNP_LOCK_ASSERT() macros. - Acquire unp_mtx on entering most UNIX domain socket code, drop/re-acquire around calls into VFS, and release it on return. - Avoid performing sodupsockaddr() while holding the mutex, so in general move to allocating storage before acquiring the mutex to copy the data. - Make a stack copy of the xucred rather than copying out while holding unp_mtx. Copy the peer credential out after releasing the mutex. - Add additional assertions of vnode locks following VOP_CREATE(). A few notes: - Use of an sx lock for the file list mutex may cause problems with regard to unp_mtx when garbage collection passed file descriptors. - The locking in unp_pcblist() for sysctl monitoring is correct subject to the unpcb zone not returning memory for reuse by other subsystems (consistent with similar existing concerns). - Sam's version of this change, as with the BSD/OS version, made use of both a global lock and per-unpcb locks. However, in practice, the global lock covered all accesses, so I have simplified out the unpcb locks in the interest of getting this merged faster (reducing the overhead but not sacrificing granularity in most cases). We will want to explore possibilities for improving lock granularity in this code in the future. Submitted by: sam Sponsored by: FreeBSD Foundatiuon Obtained from: BSD/OS 5 snapshot provided by BSDi END K 10 svn:author V 6 marius K 8 svn:date V 27 2004-06-10T21:48:51.000000Z K 7 svn:log V 86 - #define\tFOO\tBAR - Remove two tabs from an otherwise empty line. OK'ed by: nsouch END K 10 svn:author V 6 marius K 8 svn:date V 27 2004-06-10T21:51:39.000000Z K 7 svn:log V 275 - Add missing . - s,pcf_,pcf_isa, to better reflect the purpose of this front-end and to avoid conflicts. - Don't use this front-end for attaching to EBus, declaring it as an EBus driver was a cut&paste accident according to joerg. OK'ed by: joerg, nsouch END K 10 svn:author V 6 marius K 8 svn:date V 27 2004-06-10T21:53:04.000000Z K 7 svn:log V 212 - Add missing . - Use "envctrl" as the name when registering this module rather than "pcf"; we can't have "pcf" as the name for all pcf(4) front-ends or we would get conflicts. OK'ed by: joerg END K 10 svn:author V 6 marius K 8 svn:date V 27 2004-06-10T21:56:52.000000Z K 7 svn:log V 1072 Add a first version of a pcf(4) front-end for the Sun i2c devices ("i2c" is the actual name here) on EBus and which are PCF8584 (on systems having a boot-bus controller the i2c are said to not be a PCF8584). Similar to the SUNW,envctrl devices, onboard slaves for monitoring fans, temperatures and such hang off of these i2c devices. But there's also stuff like EEPROMs housing the hostid of the system and the boards usally have a connector to add custom slave devices (on CP1500 there's actually a second PCF8584 with its own I2C bus for these). This driver already works fine but I'm not yet sure if access to the slave devices on CP1400/CP1500 marked as "reserved for factory use" in the docs should be blocked (most likely these are the voltage controllers wich aren't meant to be controller by software and even not by the firmware). Once the issues with polled mode are fixed in the common pcf(4) part in pcf.c, this front-end should probably honour the poll-mode property of the i2c devices. Tested on Ultra AXe and CP1500 (Netra t1 100). OK'ed by: joerg, nsouch END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-10T22:00:58.000000Z K 7 svn:log V 208 Make profiling work for varargs functions.. %al is an additional argument which indicates the number of xmm registers used in the varargs. This stops the explosion that happened when profiling printf() etc. END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-10T22:02:26.000000Z K 7 svn:log V 79 Argh. Add the mini-stack-frame back in for mcount's benefit for syscall stubs. END K 10 svn:author V 6 marius K 8 svn:date V 27 2004-06-10T22:15:51.000000Z K 7 svn:log V 42 Remove second and __FBSDID. END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-10T22:18:33.000000Z K 7 svn:log V 557 The gcc/config/i386/freebsd64.h file neglects to override the default (bogus, application name space) mcount function name on amd64. Override it here instead. I've done it this way to avoid touching gcc source while 3.4 is in progress, and this is the smallest, lowest impact I could come up with. Adding a patch touches about 10-14 lines of Makefile, this touches only 1. This will likely go away with the 3.4 import. I spoke with Alexander about this a few days ago, but waited until after sorting out some of the other bugs in the userland profiling. END K 10 svn:author V 5 peter K 8 svn:date V 27 2004-06-11T00:35:29.000000Z K 7 svn:log V 146 Revise previous commit - I managed to mess up a 1-line change and broke amd64 world. The csu code evalues this Makefile with a different origin. END K 10 svn:author V 8 kientzle K 8 svn:date V 27 2004-06-11T01:35:56.000000Z K 7 svn:log V 130 Oops: gtar's --dereference should be a synonym for bsdtar's -L, not -H. Pointed out by: devel/nspr port Thanks to: Kris Kennaway END K 10 svn:author V 5 green K 8 svn:date V 27 2004-06-11T02:20:37.000000Z K 7 svn:log V 221 Make sysctl_wire_old_buffer() respect ENOMEM from vslock() by marking the valid length as 0. This prevents vsunlock() from removing a system wire from memory that was not successfully wired (by us). Submitted by: tegge END K 10 svn:author V 3 das K 8 svn:date V 27 2004-06-11T02:35:19.000000Z K 7 svn:log V 125 Insert a missing '~' in feholdexcept(), so that it correctly clears the exception flags in the mxcsr as well as the x87 FPU. END K 10 svn:author V 3 das K 8 svn:date V 27 2004-06-11T02:35:30.000000Z K 7 svn:log V 119 Shift the FPSR contents by the correct amount so feupdateenv() raises the correct exceptions from the old environment. END K 10 svn:author V 3 das K 8 svn:date V 27 2004-06-11T03:22:34.000000Z K 7 svn:log V 34 Add some fenv.h regression tests. END K 10 svn:author V 6 anholt K 8 svn:date V 27 2004-06-11T03:26:59.000000Z K 7 svn:log V 99 Merge from DRI CVS as of 2004-05-26. Most of the meat is new PCI IDs and a new packet for Radeon. END K 10 svn:author V 8 kensmith K 8 svn:date V 27 2004-06-11T03:34:02.000000Z K 7 svn:log V 111 Change defualt time zone from GMT to UTC. This will not be MFC-ed, and was done before 5-STABLE on purpose... END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2004-06-11T03:42:37.000000Z K 7 svn:log V 392 Lock down parallel router_info list for tracking multicast IGMP versions of various routers seen: - Introduce igmp_mtx. - Protect global variable 'router_info_head' and list fields in struct router_info with this mutex, as well as igmp_timers_are_running. - find_rti() asserts that the caller acquires igmp_mtx. - Annotate a failure to check the return value of MALLOC(..., M_NOWAIT). END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2004-06-11T03:45:42.000000Z K 7 svn:log V 284 Un-staticize 'dst' sockaddr in the stack of bpfwrite() to prevent the need to synchronize access to the structure. I believe this should fit into the stack under the necessary circumstances, but if not we can either add synchronization or use a thread-local malloc for the duration. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2004-06-11T03:47:21.000000Z K 7 svn:log V 240 Switch to conditionally acquiring and dropping Giant around calls into ifp->if_output() basedd on debug.mpsafenet. That way once bpfwrite() can be called without Giant, it will acquire Giant (if desired) before entering the network stack. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2004-06-11T03:52:56.000000Z K 7 svn:log V 66 Constify raw_sendspace and raw_recvspace, as they're not mutable. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2004-06-11T04:06:51.000000Z K 7 svn:log V 204 Remove unneeded Giant acquisition in divert_packet(), which is left over from debug.mpsafenet affecting only the forwarding plane. Giant is now acquired in the ithread/netisr or in the system call code. END K 10 svn:author V 3 alc K 8 svn:date V 27 2004-06-11T04:24:35.000000Z K 7 svn:log V 98 Reduce the number of preallocated pv entries and lpte entries in pmap_init(). Tested by: marcel@ END K 10 svn:author V 4 roam K 8 svn:date V 27 2004-06-11T06:07:14.000000Z K 7 svn:log V 93 MFC rev. 1.27 - fix a grammatical mistake: the PC3 character sequences *are* also supported. END K 10 svn:author V 3 sos K 8 svn:date V 27 2004-06-11T07:39:15.000000Z K 7 svn:log V 115 Back out the last change as that broke some SATA devices. Now we are cleaing up remove a few lines of unused code. END K 10 svn:author V 3 eik K 8 svn:date V 27 2004-06-11T09:06:27.000000Z K 7 svn:log V 89 MFC of revision 1.96: give out a little more information in case of a missing dependency END K 10 svn:author V 3 eik K 8 svn:date V 27 2004-06-11T09:40:17.000000Z K 7 svn:log V 53 MFC of the `-depth n' primary and the -maxdepth fix. END K 10 svn:author V 3 phk K 8 svn:date V 27 2004-06-11T09:45:18.000000Z K 7 svn:log V 50 Merge boot0 and boot0sio so they behave the same. END K 10 svn:author V 3 phk K 8 svn:date V 27 2004-06-11T11:16:26.000000Z K 7 svn:log V 160 Deorbit COMPAT_SUNOS. We inherited this from the sparc32 port of BSD4.4-Lite1. We have neither a sparc32 port nor a SunOS4.x compatibility desire these days. END K 10 svn:author V 5 joerg K 8 svn:date V 27 2004-06-11T11:41:33.000000Z K 7 svn:log V 126 Cast the arguments to make_h_number() to uintmax_t before multiplying them... Otherwise the result will be truncated anyway. END K 10 svn:author V 3 phk K 8 svn:date V 27 2004-06-11T11:43:46.000000Z K 7 svn:log V 48 Make this look less dubious :-) Spotted by: ru END K 10 svn:author V 3 phk K 8 svn:date V 27 2004-06-11T11:58:07.000000Z K 7 svn:log V 22 COMPAT_SUNOS is gone. END K 10 svn:author V 8 brueffer K 8 svn:date V 27 2004-06-11T14:07:39.000000Z K 7 svn:log V 25 MFC: rev. 1.11 Fix typo END K 10 svn:author V 6 scottl K 8 svn:date V 27 2004-06-11T15:33:20.000000Z K 7 svn:log V 107 Make the XPT_CALC_GEOMETRY op dependent on the sc_extended_geometry flag that is set in the bus front-end. END K 10 svn:author V 6 cognet K 8 svn:date V 27 2004-06-11T15:37:49.000000Z K 7 svn:log V 125 Import the ttys file for arm. make TARGET_ARCH=arm world now works (but still with external patches for the toolchain bits). END K 10 svn:author V 3 eik K 8 svn:date V 27 2004-06-11T16:07:02.000000Z K 7 svn:log V 189 Add sha1 and rmd160 checksum tools. Since the algorithms are already supported in libmd, the size increase is small when a dynamic root is used. Approved by: joerg, ru MFC after: 2 weeks END K 10 svn:author V 6 obrien K 8 svn:date V 27 2004-06-11T16:09:38.000000Z K 7 svn:log V 127 Sperate out the MD parts of kvm-fbsd to get rid of the #ifdef maze. Also quiet some warnings by tweaking the included headers. END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 2004-06-11T16:09:39.000000Z K 7 svn:log V 71 This commit was manufactured by cvs2svn to create tag 'BEFORE_BU_2_15'. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2004-06-11T17:25:37.000000Z K 7 svn:log V 150 Document the STRIPBIN environment variable. This includes adding a forward reference from where strip(1) is being mention (-s option). PR: bin/28620 END K 10 svn:author V 6 julian K 8 svn:date V 27 2004-06-11T17:48:20.000000Z K 7 svn:log V 26 Shuffle some code around. END K 10 svn:author V 8 schweikh K 8 svn:date V 27 2004-06-11T17:51:37.000000Z K 7 svn:log V 165 * Fix typo in comment. * remove extraneous semicolon between function definitions. * vm_offset_t is not a pointer, so return 0, not NULL. This fixes two warnings. END K 10 svn:author V 8 bmilekic K 8 svn:date V 27 2004-06-11T18:17:25.000000Z K 7 svn:log V 118 Gah! Plug a mbuf leak I introduced in the last commit. I don the pointy-hat. Problem reported by: Peter Holm END K 10 svn:author V 8 vkashyap K 8 svn:date V 27 2004-06-11T18:42:44.000000Z K 7 svn:log V 226 Fix for a problem seen only on 6xxx series controllers, where-in the driver tries to submit the same request repeatedly, on finding the controller cmd queue to be full. Submitted by:ps, vkashyap Reviewed by:re Approved by:re END K 10 svn:author V 8 schweikh K 8 svn:date V 27 2004-06-11T18:47:44.000000Z K 7 svn:log V 15 Style cleanup. END K 10 svn:author V 8 vkashyap K 8 svn:date V 27 2004-06-11T18:57:32.000000Z K 7 svn:log V 453 Fix for a problem seen only on 6xxx series controllers, where-in the driver tries to submit the same request repeatedly, on finding the controller cmd queue to be full. This is an MFC from -CURRENT, and is being done a bit fast because it addresses a 4.10 errata item, and has already been tested for a week on a heavily used -STABLE machine that was previously showing symptoms of the problem. Submitted by:ps, vkashyap Reviewed by:re Approved by:re END K 10 svn:author V 3 alc K 8 svn:date V 27 2004-06-11T19:55:56.000000Z K 7 svn:log V 163 Move uma_small_alloc() and uma_small_free() out of the pmap and into their own machine-dependent file. This makes alpha consistent with amd64, ia64, and powerpc. END K 10 svn:author V 3 alc K 8 svn:date V 27 2004-06-11T20:11:41.000000Z K 7 svn:log V 110 Neither pmap_enter() nor pmap_enter_quick() should create pv entries for unmanaged pages. Tested by: marcel@ END K 10 svn:author V 4 csjp K 8 svn:date V 27 2004-06-11T22:17:14.000000Z K 7 svn:log V 732 Modify ip fw so that whenever UID or GID constraints exist in a ruleset, the pcb is looked up once per ipfw_chk() activation. This is done by extracting the required information out of the PCB and caching it to the ipfw_chk() stack. This should greatly reduce PCB looking contention and speed up the processing of UID/GID based firewall rules (especially with large UID/GID rulesets). Some very basic benchmarks were taken which compares the number of in_pcblookup_hash(9) activations to the number of firewall rules containing UID/GID based contraints before and after this patch. The results can be viewed here: o http://people.freebsd.org/~csjp/ip_fw_pcb.png Reviewed by: andre, luigi, rwatson Approved by: bmilekic (mentor) END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2004-06-11T22:39:42.000000Z K 7 svn:log V 107 Use tabs instead of spaces between #define and macro name; a merge mistake as they are in rwatson_netperf. END K 10 svn:author V 6 mlaier K 8 svn:date V 27 2004-06-12T00:10:21.000000Z K 7 svn:log V 791 Import parts of the ALTQ framework from latest KAME snapshot (which is up to HEAD at this point). This will not exactly live in a vendor branch, but have the vendor backing to make it easier to exchange diffs. This will be followed by a diff which takes most of the .c files off the vendor branch in order to: - add locking - disable ALTQ3_COMPAT code (which is outdated and "un-lockable") There is work in progress to refine the configuration API. Import this "as is" now to have more exposure time before 5-STABLE. This is only the import, it will be some more days until you will actually be able to compile ALTQ support into your kernel so don't hold your breath. HEADUPs will be posted on current@ and net@ before this is actually enabled. No-objection: re(scottl), core(rwatson) END K 10 svn:author V 6 mlaier K 8 svn:date V 27 2004-06-12T00:10:21.000000Z K 7 svn:log V 144 This commit was generated by cvs2svn to compensate for changes in r130365, which included commits to RCS files with non-trunk default branches. END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 2004-06-12T00:10:22.000000Z K 7 svn:log V 95 This commit was manufactured by cvs2svn to create tag 'altq-vendor-sys-freebsd4_snap_20040607'. END K 10 svn:author V 6 mlaier K 8 svn:date V 27 2004-06-12T00:57:20.000000Z K 7 svn:log V 711 FreeBSD-ify ALTQ: - add locking - disable ALTQ3_COMPAT by default (do not remove the code to keep the diff towards KAME small) - put some more code under ALTQ3 conditional compilation as it should be - account for if_xname - some more minor compile fixes As people started wondering: The strange path layout "altq/altq" is there to avoid "-Isys/contrib" and make it "-Isys/contrib/altq" instead, as we will need at least and for kernel compilation. The "freebsd4_..." in the privious commit is just the best tag name in the KAME tree I could find to classify this in order to track its history. It does *not* mean that this will go to 4-STABLE or anything of that kind. END K 10 svn:author V 6 marius K 8 svn:date V 27 2004-06-12T02:23:06.000000Z K 7 svn:log V 257 Back out 1.23 until I figure out why it causes Netra t1 100 to no longer pass any traffic. Unfortunately this means no full-duplex link with auto- negotiation on hme(4) using DP83840A PHYs again. I really thought I had tested this also on a Netra t1 100... END K 10 svn:author V 6 scottl K 8 svn:date V 27 2004-06-12T03:23:37.000000Z K 7 svn:log V 35 Correct typo from previous commit. END K 10 svn:author V 3 das K 8 svn:date V 27 2004-06-12T04:40:47.000000Z K 7 svn:log V 217 The references to scalbn and scalbnf should be scalb and scalbf. (The former are actually useful, and ieee_test(3) only documents functions that aren't.) Add a sentence describing the domain of scalb() and scalbf(). END K 10 svn:author V 6 scottl K 8 svn:date V 27 2004-06-12T05:19:17.000000Z K 7 svn:log V 289 When autosense is retrieved, tell CAM about it instead of juust pretending that the command succeeded. Sheesh! This makes CDROMs no longer cause an instant panic at boot. Thanks to Jake Burkholder for providing a remote test setup. Also make device resets work, thanks to another typo. END K 10 svn:author V 3 alc K 8 svn:date V 27 2004-06-12T06:03:27.000000Z K 7 svn:log V 27 Remove an unused #include. END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2004-06-12T07:40:01.000000Z K 7 svn:log V 739 Check pending signals, if there is signal will be unblocked by sigsuspend, thread shouldn't wait, in old code, it may be ignored. When a signal handler is invoked in sigsuspend, thread gets two different signal masks, one is in thread structure, sigprocmask() can retrieve it, another is in ucontext which is a third parameter of signal handler, the former is the result of sigsuspend mask ORed with sigaction's sa_mask and current signal, the later is the mask in thread structure before sigsuspend is called. After signal handler is called, the mask in ucontext should be copied into thread structure, and becomes CURRENT signal mask, then sigsuspend returns to user code. Reviewed by: deischen Tested by: Sean McNeil END K 10 svn:author V 3 des K 8 svn:date V 27 2004-06-12T11:22:21.000000Z K 7 svn:log V 46 Include the config name in the log file name. END K 10 svn:author V 3 des K 8 svn:date V 27 2004-06-12T11:23:04.000000Z K 7 svn:log V 88 Group tinderbox results by config name. Skip configs whose names start with "update_". END K 10 svn:author V 3 phk K 8 svn:date V 27 2004-06-12T12:31:42.000000Z K 7 svn:log V 93 Fix registration of loadable line disciplines. This should make watch(8)/snp(4) work again. END K 10 svn:author V 3 gad K 8 svn:date V 27 2004-06-12T15:43:01.000000Z K 7 svn:log V 164 MFC 1.84: When rotating some "blah.log" file, make sure that a chmod and (if requested) a chown is done on the "blah.log.0" file. PR: bin/67137 Submitted by: jeh END K 10 svn:author V 3 gad K 8 svn:date V 27 2004-06-12T15:45:17.000000Z K 7 svn:log V 68 MFC 1.85: Improved versions of the is*ch() and tolowerch() macros. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2004-06-12T16:08:41.000000Z K 7 svn:log V 516 Introduce a mutex into struct sockbuf, sb_mtx, which will be used to protect fields in the socket buffer. Add accessor macros to use the mutex (SOCKBUF_*()). Initialize the mutex in soalloc(), and destroy it in sodealloc(). Add addition, add SOCK_*() access macros which will protect most remaining fields in the socket; for the time being, use the receive socket buffer mutex to implement socket level locking to reduce memory overhead. Submitted by: sam Sponosored by: FreeBSD Foundation Obtained from: BSD/OS END K 10 svn:author V 3 gad K 8 svn:date V 27 2004-06-12T17:53:48.000000Z K 7 svn:log V 217 Make it so users can select the new (5.x) behavior for processing extra parameters by compiling `ps' with -DPS_BACKWARD_COMPATIBILITY=0, instead of requiring them to patch ps.c. The default behavior has not changed. END K 10 svn:author V 3 gad K 8 svn:date V 27 2004-06-12T17:57:08.000000Z K 7 svn:log V 78 MFC 1.5: Remove reference to , even if it's just a comment in 4.x. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2004-06-12T18:37:29.000000Z K 7 svn:log V 60 Whitespace-only restyling of socket reference count macros. END K 10 svn:author V 6 mlaier K 8 svn:date V 27 2004-06-12T18:47:24.000000Z K 7 svn:log V 1026 Add an additional queue which will be "owned by the driver". This allows to rig a PREPEND macro for ALTQ as the POLL/DEQUEUE semantic is very bad in terms of locking. We make this a full functional queue to allow "bulk dequeue" which will further reduce the locking overhead (for non-altq enabled devices). Drivers will access this via the following macros, which will show up in once we expose ALTQ to the build: IFQ_DRV_DEQUEUE(ifq, m) - takes a mbuf off the queue (driver queue first) IFQ_DRV_PREPEND(ifq, m) - pushes a mbuf back to the driver queue IFQ_DRV_PURGE(ifq) - drops all packets in both queues IFQ_DRV_IS_EMPTY(ifq) - checks for pending mbufs in either queue One has to make sure that the first three are protected by a driver mutex. At the moment most network drivers still require Giant, so this is not an issue. Even those that have thier own mutex usually hold it in if_start and the like, so this requirement is almost always satisfied. This evolved from a discussion with Andrew Gallatin. END K 10 svn:author V 3 gad K 8 svn:date V 27 2004-06-12T19:53:08.000000Z K 7 svn:log V 212 Switch to using the "neworder" for rotating log files, by default. The main advantage of this is that daemon's are only signalled once per run, instead of once for each file that is rotated. MFC after: 2 weeks END K 10 svn:author V 3 alc K 8 svn:date V 27 2004-06-12T20:01:48.000000Z K 7 svn:log V 226 In a multiprocessor, the PG_W bit in the pte must be changed atomically. Otherwise, the setting of the PG_M bit by one processor could be lost if another processor is simultaneously changing the PG_W bit. Reviewed by: tegge@ END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2004-06-12T20:47:32.000000Z K 7 svn:log V 761 Extend coverage of SOCK_LOCK(so) to include so_count, the socket reference count: - Assert SOCK_LOCK(so) macros that directly manipulate so_count: soref(), sorele(). - Assert SOCK_LOCK(so) in macros/functions that rely on the state of so_count: sofree(), sotryfree(). - Acquire SOCK_LOCK(so) before calling these functions or macros in various contexts in the stack, both at the socket and protocol layers. - In some cases, perform soisdisconnected() before sotryfree(), as this could result in frobbing of a non-present socket if sotryfree() actually frees the socket. - Note that sofree()/sotryfree() will release the socket lock even if they don't free the socket. Submitted by: sam Sponsored by: FreeBSD Foundation Obtained from: BSD/OS END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2004-06-12T20:59:48.000000Z K 7 svn:log V 954 Missed directory in previous commit; need to hold SOCK_LOCK(so) before calling sotryfree(). -- Body of earlier bulk commit this belonged with -- Log: Extend coverage of SOCK_LOCK(so) to include so_count, the socket reference count: - Assert SOCK_LOCK(so) macros that directly manipulate so_count: soref(), sorele(). - Assert SOCK_LOCK(so) in macros/functions that rely on the state of so_count: sofree(), sotryfree(). - Acquire SOCK_LOCK(so) before calling these functions or macros in various contexts in the stack, both at the socket and protocol layers. - In some cases, perform soisdisconnected() before sotryfree(), as this could result in frobbing of a non-present socket if sotryfree() actually frees the socket. - Note that sofree()/sotryfree() will release the socket lock even if they don't free the socket. Submitted by: sam Sponsored by: FreeBSD Foundation Obtained from: BSD/OS END K 10 svn:author V 2 le K 8 svn:date V 27 2004-06-12T21:16:10.000000Z K 7 svn:log V 42 Add a first version of a GEOMified vinum. END K 10 svn:author V 2 le K 8 svn:date V 27 2004-06-12T21:18:40.000000Z K 7 svn:log V 39 Add a module directory for geom_vinum. END