dragonfly.git
10 years agoi915_gem.c: Revisit initialization code
François Tigeot [Sun, 21 Jul 2013 05:41:49 +0000 (07:41 +0200)]
i915_gem.c: Revisit initialization code

10 years agokernel: Correctly handle fake pages
Matthew Dillon [Fri, 12 Jul 2013 06:35:54 +0000 (08:35 +0200)]
kernel: Correctly handle fake pages

10 years agodrm2: Make the PAT code more compatible with FreeBSD
François Tigeot [Thu, 18 Jul 2013 18:43:28 +0000 (20:43 +0200)]
drm2: Make the PAT code more compatible with FreeBSD

* drm_mmap() still has issues with the memattr parameter

10 years agokernel: PAT work, test_and_set_bit()
Matthew Dillon [Tue, 25 Jun 2013 18:07:05 +0000 (20:07 +0200)]
kernel: PAT work, test_and_set_bit()

Partially based on work by
Aggelos Economopoulos <aoiko@cc.ece.ntua.gr>

10 years agodrm: preliminary replacement for vm_phys_fictitious functions
Johannes Hofmann [Thu, 23 May 2013 17:37:22 +0000 (19:37 +0200)]
drm: preliminary replacement for vm_phys_fictitious functions

10 years agokernel: Add atomic_load_acq_64()
François Tigeot [Tue, 30 Jul 2013 18:35:59 +0000 (20:35 +0200)]
kernel: Add atomic_load_acq_64()

* This routine was already implemented on x86_64 under another name

* Take the FreeBSD i586 version for i386; this variant use a chmxchg8b
  instruction and require at least a Pentium CPU to run

10 years agodrm: lockmgr() returns 0 on success
Johannes Hofmann [Tue, 30 Jul 2013 17:32:25 +0000 (19:32 +0200)]
drm: lockmgr() returns 0 on success

10 years agodrm: Implement vm_fault_quick_hold_pages and vm_page_unhold_pages
Johannes Hofmann [Tue, 23 Jul 2013 12:08:46 +0000 (14:08 +0200)]
drm: Implement vm_fault_quick_hold_pages and vm_page_unhold_pages

Also call vm_page_busy_wait() before vm_page_unwire() to avoid
page not busy asserts in vm_page_unwire() as recommended by dillon.

10 years agodrm2 porting: Small changes
Johannes Hofmann [Tue, 30 Jul 2013 17:31:17 +0000 (19:31 +0200)]
drm2 porting: Small changes

* don't pass handle to default_pager_alloc()

* call vm_map_find() with fitit TRUE

* use IDX_TO_OFF()/OFF_TO_IDX() macros

10 years agodrm: switch back from kfree to free and add a NULL check
Johannes Hofmann [Tue, 30 Jul 2013 17:09:38 +0000 (19:09 +0200)]
drm: switch back from kfree to free and add a NULL check

10 years agodrm2: Properly handle requests passing page boundaries
Matthew Dillon [Mon, 29 Jul 2013 20:52:04 +0000 (22:52 +0200)]
drm2: Properly handle requests passing page boundaries

Change pmap_mapdev_attr() call in drm2 to properly handle
requests passing page boundaries.

10 years agodrm2: Translate some vm calls, comment out others
François Tigeot [Tue, 30 Jul 2013 16:59:22 +0000 (18:59 +0200)]
drm2: Translate some vm calls, comment out others

10 years agodrm2: Replace or comment out devfs cdevpriv calls
Johannes Hofmann [Tue, 30 Jul 2013 16:48:13 +0000 (18:48 +0200)]
drm2: Replace or comment out devfs cdevpriv calls

10 years agoi915: fix sf_buf_alloc() calls
François Tigeot [Tue, 30 Jul 2013 14:41:39 +0000 (16:41 +0200)]
i915: fix sf_buf_alloc() calls

10 years agoi915: Rename pipe to i915_pipe
François Tigeot [Tue, 30 Jul 2013 14:33:07 +0000 (16:33 +0200)]
i915: Rename pipe to i915_pipe

10 years agodrm2: replace callout_schedule by callout_reset()
François Tigeot [Tue, 30 Jul 2013 14:31:21 +0000 (16:31 +0200)]
drm2: replace callout_schedule by callout_reset()

10 years agoi915: replace several sleep functions by DELAY()
François Tigeot [Tue, 30 Jul 2013 14:29:54 +0000 (16:29 +0200)]
i915: replace several sleep functions by DELAY()

10 years agodrm2: Small porting fixes
François Tigeot [Tue, 30 Jul 2013 14:27:10 +0000 (16:27 +0200)]
drm2: Small porting fixes

* Add missing rb-tree function prototype

* Replace member2struct() by container_of() like it was done
  in the original Linux code

* Fix taskqueue_start_threads() call

* Remove unused vm_mmap call

10 years agoiicbus: add intel_iic to iicbb driver
Johannes Hofmann [Tue, 30 Jul 2013 14:05:56 +0000 (16:05 +0200)]
iicbus: add intel_iic to iicbb driver

10 years agodrm2: Port d_mmap_single() from FreeBSD
Johannes Hofmann [Wed, 24 Apr 2013 17:31:38 +0000 (19:31 +0200)]
drm2: Port d_mmap_single() from FreeBSD

10 years agodrm2: Handle device creation, translate dev_ops functions
François Tigeot [Tue, 30 Jul 2013 11:29:00 +0000 (13:29 +0200)]
drm2: Handle device creation, translate dev_ops functions

* drm_attach, drm_open, drm_close, drm_mmap, drm_read, drm_ioctl modified
  following the model of the existing functions in the old drm/ implementation

* poll and select don't exist on DragonFly and are replaced by kqueue

* Additional fixes from Johannes Hofmann to set ap->a_result in drm_mmap()
  and resolve crashes in drm_open() and drm_ioctl()

10 years agoproto: Fix copy-n-paste error; PR_ASYNC_RCVD should be 0x0800.
Sepherosa Ziehau [Tue, 30 Jul 2013 13:19:04 +0000 (21:19 +0800)]
proto: Fix copy-n-paste error; PR_ASYNC_RCVD should be 0x0800.

It was defined to the same value as PR_ASYNC_SEND.  However, in the
current code base, it does not hurt, since only TCP has this flag set.

10 years agokernel/bus: Remove NULL check after kmalloc with M_INTWAIT (w/o M_NULLOK).
Sascha Wildner [Tue, 30 Jul 2013 10:44:01 +0000 (12:44 +0200)]
kernel/bus: Remove NULL check after kmalloc with M_INTWAIT (w/o M_NULLOK).

Pointed-out-by: sephe
10 years agoaio_return.3: The return type is ssize_t, not int.
Sascha Wildner [Tue, 30 Jul 2013 10:42:21 +0000 (12:42 +0200)]
aio_return.3: The return type is ssize_t, not int.

10 years agokernel: add OBJT_MGTDEVICE in some more places
Johannes Hofmann [Tue, 30 Jul 2013 06:12:34 +0000 (08:12 +0200)]
kernel: add OBJT_MGTDEVICE in some more places

10 years agokernel: Port new device_pager interface from FreeBSD
Johannes Hofmann [Mon, 29 Jul 2013 20:39:56 +0000 (22:39 +0200)]
kernel: Port new device_pager interface from FreeBSD

Some parts implemented by François Tigeot and Matthew Dillon

10 years agokernel - Do not invalidate the vnode+children in the NFS core on ESTALE
Matthew Dillon [Mon, 29 Jul 2013 22:11:09 +0000 (15:11 -0700)]
kernel - Do not invalidate the vnode+children in the NFS core on ESTALE

* When NFS encounters ESTALE it would try to invalidate the related
  namecache topology in the core socket code, requiring an exclusive
  lock on related namecache entries.  This is not compatible with
  shared namecache locking because it can occur as part of any operation,
  even simple GETATTRs.

* Remove the invalidation for now.  The kernel already has a high-level
  solution in place for terminal nodes but we will also need one for
  traversals.

10 years agokernel/pci: Fix extern in pcivar.h and clean up a bit.
Sascha Wildner [Mon, 29 Jul 2013 00:15:08 +0000 (02:15 +0200)]
kernel/pci: Fix extern in pcivar.h and clean up a bit.

10 years ago<wchar.h>: We don't have wcswcs(), so remove prototype.
Sascha Wildner [Sun, 28 Jul 2013 22:24:12 +0000 (00:24 +0200)]
<wchar.h>: We don't have wcswcs(), so remove prototype.

10 years agousr.bin: fix more mandoc(1) warnings
Franco Fichtner [Sun, 28 Jul 2013 13:20:10 +0000 (15:20 +0200)]
usr.bin: fix more mandoc(1) warnings

Unfortunately, most other man pages come from the contrib/ dir,
each with a couple of associated warnings that even sed(1) can't
completely amend.

10 years agoRemove 'device firmware' from various manpages because it is not optional.
Sascha Wildner [Sun, 28 Jul 2013 09:41:12 +0000 (11:41 +0200)]
Remove 'device firmware' from various manpages because it is not optional.

10 years agokether_ntoa.9: Small whitespace fix.
Sascha Wildner [Sun, 28 Jul 2013 01:38:18 +0000 (03:38 +0200)]
kether_ntoa.9: Small whitespace fix.

10 years agolibm: Fix a typo in the MLINKS line for log2l(3).
Sascha Wildner [Sun, 28 Jul 2013 00:45:25 +0000 (02:45 +0200)]
libm: Fix a typo in the MLINKS line for log2l(3).

10 years agostrchr.3: Fix typo, it's strchrnul, not strrchrnul.
Sascha Wildner [Sun, 28 Jul 2013 00:23:19 +0000 (02:23 +0200)]
strchr.3: Fix typo, it's strchrnul, not strrchrnul.

10 years agoFix typo in MLINKS line for taskqueue_drain_timeout(9).
Sascha Wildner [Sun, 28 Jul 2013 00:16:43 +0000 (02:16 +0200)]
Fix typo in MLINKS line for taskqueue_drain_timeout(9).

10 years agokernel: Stop installing pst(4) module and manual page on x86_64.
Sascha Wildner [Sat, 27 Jul 2013 22:51:03 +0000 (00:51 +0200)]
kernel: Stop installing pst(4) module and manual page on x86_64.

It is i386 only.

10 years agotaskqueue.9: Use .Er for errors numbers.
Sascha Wildner [Sat, 27 Jul 2013 21:11:23 +0000 (23:11 +0200)]
taskqueue.9: Use .Er for errors numbers.

10 years ago<sys/proc.h>: Remove suser() and suser_cred() prototypes.
Sascha Wildner [Sat, 27 Jul 2013 20:41:59 +0000 (22:41 +0200)]
<sys/proc.h>: Remove suser() and suser_cred() prototypes.

suser_*() was replaced with priv_*() more than 4 years ago.

Reported-by: Joris Giovannangeli <joris@giovannangeli.fr>
10 years agoDocument isgreater(3) and friends.
Sascha Wildner [Sat, 27 Jul 2013 20:19:12 +0000 (22:19 +0200)]
Document isgreater(3) and friends.

10 years agowindow.1: unbreak macros, hyphens are `-' not minus `\-'
Franco Fichtner [Sat, 27 Jul 2013 13:05:27 +0000 (15:05 +0200)]
window.1: unbreak macros, hyphens are `-' not minus `\-'

10 years agohexdump(1): clean up tables in man pages, output is lower-case
Franco Fichtner [Sat, 27 Jul 2013 12:25:14 +0000 (14:25 +0200)]
hexdump(1): clean up tables in man pages, output is lower-case

10 years agosed.1/sail.6: Fix section references and a function name.
Sascha Wildner [Fri, 26 Jul 2013 15:36:00 +0000 (17:36 +0200)]
sed.1/sail.6: Fix section references and a function name.

10 years agosail.6: mdoc conversion
Franco Fichtner [Thu, 25 Jul 2013 17:19:45 +0000 (19:19 +0200)]
sail.6: mdoc conversion

Synced from parts of both OpenBSD and NetBSD, with a little
tweaking in the AUTHORS section.  mandoc(1) warnings are gone.

10 years agosys/boot: Remove some unused externs.
Sascha Wildner [Thu, 25 Jul 2013 17:43:32 +0000 (19:43 +0200)]
sys/boot: Remove some unused externs.

10 years agodhclient.conf.5: .Nm needs a parameter only once.
Sascha Wildner [Thu, 25 Jul 2013 16:29:09 +0000 (18:29 +0200)]
dhclient.conf.5: .Nm needs a parameter only once.

10 years agounquote section names in man pages
Franco Fichtner [Thu, 18 Jul 2013 21:07:22 +0000 (23:07 +0200)]
unquote section names in man pages

While there, make them upper case, try to simplify and
consolidate, zap comments that nobody will ever see again
and tweak one AUTHORS instance with '.An -nosplit'.

10 years agoresolve mandoc(1) warnings in games/
Franco Fichtner [Thu, 25 Jul 2013 14:48:56 +0000 (16:48 +0200)]
resolve mandoc(1) warnings in games/

larn.6 was redesigned in parts for readability.
sail.6 needs a separate commit.

10 years agoadjust grammar in a few man pages: s/was/were/
Franco Fichtner [Wed, 24 Jul 2013 20:25:19 +0000 (22:25 +0200)]
adjust grammar in a few man pages: s/was/were/

10 years agokernel: Remove some unused kmalloc types in drm/drm2 code.
Sascha Wildner [Wed, 24 Jul 2013 20:28:49 +0000 (22:28 +0200)]
kernel: Remove some unused kmalloc types in drm/drm2 code.

OK'd: ftigeot

10 years agoman4: use .Mt for emails (2/2)
Franco Fichtner [Wed, 24 Jul 2013 20:00:40 +0000 (22:00 +0200)]
man4: use .Mt for emails (2/2)

This concludes the efforts to consistently use .Mt for
email addresses.  It also sneaks in a couple of subtle
changes to punctuation, grammar and conversion of
'.Nm xxx' to '.Xr xxx 4' where appropriate.

10 years agoman4: use .Mt for emails (1/2)
Franco Fichtner [Wed, 24 Jul 2013 15:54:54 +0000 (17:54 +0200)]
man4: use .Mt for emails (1/2)

10 years agoresolve mandoc(1) warnings in bin/
Franco Fichtner [Tue, 23 Jul 2013 20:42:42 +0000 (22:42 +0200)]
resolve mandoc(1) warnings in bin/

10 years agokernel: Document new taskqueue functions
François Tigeot [Wed, 24 Jul 2013 08:35:57 +0000 (10:35 +0200)]
kernel: Document new taskqueue functions

10 years agodrm2: add a drm_find_file_by_proc() implementation
François Tigeot [Wed, 24 Jul 2013 07:08:14 +0000 (09:08 +0200)]
drm2: add a drm_find_file_by_proc() implementation

* Taken from the existing drm code in sys/dev/drm/

10 years agokernel: Update taskqueue subsystem
François Tigeot [Wed, 24 Jul 2013 07:06:29 +0000 (09:06 +0200)]
kernel: Update taskqueue subsystem

* Add taskqueue timeout functions

* Add _timeout_task_init()

* Add taskqueue_cancel()

Obtained-from: FreeBSD

10 years agokillall - Add all-but-self tty kill (-T)
Matthew Dillon [Wed, 24 Jul 2013 04:17:53 +0000 (21:17 -0700)]
killall - Add all-but-self tty kill (-T)

* Add a new feature to killall, the -T option, which will kill all
  processes on the caller's tty except processes which parent the
  killall.

  This can be used to terminate processes on the current tty, for example
  from a ^C'd build that failed to kill all the sub processes, without
  also taking out the shell/xterm/whatever and causing the window to close.

10 years agolibmandoc: Add HAVE_STRPTIME and HAVE_MMAP to the Makefile.
Sascha Wildner [Tue, 23 Jul 2013 19:59:09 +0000 (21:59 +0200)]
libmandoc: Add HAVE_STRPTIME and HAVE_MMAP to the Makefile.

The former fixes an issue that would cause mandoc to warn on our .Dd
lines when using 'mandoc -Tlint ...'.

Submitted-by: Franco Fichtner <franco@lastsummer.de> (some modifications
              by me)

10 years agodrm2: Adapt kernel_map usage
François Tigeot [Tue, 23 Jul 2013 17:23:37 +0000 (19:23 +0200)]
drm2: Adapt kernel_map usage

10 years agodrm2: Handle slightly different little things (2/2)
François Tigeot [Tue, 23 Jul 2013 17:23:05 +0000 (19:23 +0200)]
drm2: Handle slightly different little things (2/2)

Some functions/macros have little arguments or other small variations:

* BUS_ALLOC_RESOURCE()

* bus_dma_tag_create()

* vm_pager_allocate()

* vm_map_find()

* vm_pager_get_pages() / vm_pager_get_page()

* vm_pager_has_page

* pmap_zero_page()

10 years agodrm2: Handle slightly different little things (1/2)
François Tigeot [Tue, 23 Jul 2013 17:21:53 +0000 (19:21 +0200)]
drm2: Handle slightly different little things (1/2)

* DragonFly and FreeBSD memory barrier functions are named differently

* Replace TAILQ_FOREACH_SAFE by TAILQ_FOREACH_MUTABLE

* CTLFLAG_RDTUN doesn't exist, use CTLFLAG_RD instead

* kdb_active -> db_active

* Implement and use a replacement for VM_OBJECT_LOCK_ASSERT(MA_OWNED)

* VPO_BUSY => PG_BUSY

* The way to get rlimit values is a little bit different

* Replace MPASS with KASSERT

* Use callout_init_mp() where FreeBSD uses CALLOUT_MPSAFE
  (suggested-by swildner)

Parts-by: Johannes Hofmann
10 years agodrm2: Remove unused FreeBSD functions and macros
François Tigeot [Tue, 23 Jul 2013 17:21:09 +0000 (19:21 +0200)]
drm2: Remove unused FreeBSD functions and macros

* sched_pin() / sched_unpin()

* VM_ALLOC_NOOBJ and VM_ALLOC_WIRED

* callout_drain()

* vm_page_lock() / vm_page_unlock()

* kern_yield()

* CTLFLAG_MPSAFE

10 years agodrm2: Fix include files
François Tigeot [Tue, 23 Jul 2013 17:20:27 +0000 (19:20 +0200)]
drm2: Fix include files

10 years agodrm2: Handle locking
François Tigeot [Tue, 23 Jul 2013 17:18:48 +0000 (19:18 +0200)]
drm2: Handle locking

* Locally define PROC_LOCK and PROC_UNLOCK to nothing

* irq_lock must be a lwkt serializer

* Remove Giant usage
  Was it even needed on FreeBSD ?

10 years agodrm2: Some functions are named differently
François Tigeot [Tue, 23 Jul 2013 17:16:03 +0000 (19:16 +0200)]
drm2: Some functions are named differently

* free => kfree

* malloc, realloc, reallocf => kmalloc, krealloc, kreallocf

* printf and snprintf => kprintf and ksnprintf

* getenv => kgetenv

* qsort_r => kqsort_r

* pci_find_cap => pci_find_extcap

* critical_enter => crit_enter

* hashinit_flags => hashinit

10 years agodrm2: Remove CTR* functions
François Tigeot [Tue, 23 Jul 2013 17:15:09 +0000 (19:15 +0200)]
drm2: Remove CTR* functions

10 years agodrm2: Comment out FreeBSD ids
François Tigeot [Sun, 21 Jul 2013 08:45:12 +0000 (10:45 +0200)]
drm2: Comment out FreeBSD ids

Also remove FreeBSD-specific sys/cdefs.h include lines

10 years agoRemove some no longer used externs in various system headers.
Sascha Wildner [Tue, 23 Jul 2013 16:54:20 +0000 (18:54 +0200)]
Remove some no longer used externs in various system headers.

10 years agodhclient: partial sync from OpenBSD man pages
Franco Fichtner [Tue, 23 Jul 2013 12:18:15 +0000 (14:18 +0200)]
dhclient: partial sync from OpenBSD man pages

10 years agotzfile.5: use .In for including tzfile.h
Franco Fichtner [Mon, 22 Jul 2013 22:12:06 +0000 (00:12 +0200)]
tzfile.5: use .In for including tzfile.h

The file resides in /usr/include anyway.

10 years agoforward.5: use .Ar instead of .Aq for email address
Franco Fichtner [Mon, 22 Jul 2013 21:53:25 +0000 (23:53 +0200)]
forward.5: use .Ar instead of .Aq for email address

The email is an example and should not be a spurious candidate for
.Mt conversion.  The example below uses .Ar for a local address
already.

10 years agoshare/examples: use .Mt for emails in man pages
Franco Fichtner [Mon, 22 Jul 2013 21:49:10 +0000 (23:49 +0200)]
share/examples: use .Mt for emails in man pages

While there, get rid of redundant quotes in .Nd lines.

10 years agom4(1): Remove two unused manual pages.
Sascha Wildner [Tue, 23 Jul 2013 11:04:15 +0000 (13:04 +0200)]
m4(1): Remove two unused manual pages.

10 years agozopen.3: zap file since zopen() is only used via compress(1)
Franco Fichtner [Mon, 22 Jul 2013 22:22:09 +0000 (00:22 +0200)]
zopen.3: zap file since zopen() is only used via compress(1)

10 years agodrm: Import drm2+i915 work from FreeBSD
François Tigeot [Mon, 22 Jul 2013 20:23:54 +0000 (22:23 +0200)]
drm: Import drm2+i915 work from FreeBSD

As of r240917 (2012-09-25): "Reduce delays in several wait loops"

10 years agodrm: move gpu driver headers to subdirectories
François Tigeot [Mon, 22 Jul 2013 20:11:20 +0000 (22:11 +0200)]
drm: move gpu driver headers to subdirectories

10 years agodma.8: Adjust corecode's email address.
Sascha Wildner [Mon, 22 Jul 2013 20:06:42 +0000 (22:06 +0200)]
dma.8: Adjust corecode's email address.

10 years agoadd .Mt to man pages in usr.sbin/
Franco Fichtner [Mon, 22 Jul 2013 19:09:05 +0000 (21:09 +0200)]
add .Mt to man pages in usr.sbin/

10 years agokernel/isa: Remove some no longer used externs declarations.
Sascha Wildner [Mon, 22 Jul 2013 19:43:07 +0000 (21:43 +0200)]
kernel/isa: Remove some no longer used externs declarations.

10 years agoadd .Mt to man pages in lib/
Franco Fichtner [Mon, 22 Jul 2013 17:27:28 +0000 (19:27 +0200)]
add .Mt to man pages in lib/

10 years agoadd .Mt to man pages in libexec/
Franco Fichtner [Mon, 22 Jul 2013 14:15:16 +0000 (16:15 +0200)]
add .Mt to man pages in libexec/

10 years agoadd .Mt to man pages in sbin/
Franco Fichtner [Mon, 22 Jul 2013 14:02:50 +0000 (16:02 +0200)]
add .Mt to man pages in sbin/

10 years agoDocument copyin_nofault and copyout_nofault(9)
François Tigeot [Mon, 22 Jul 2013 16:02:17 +0000 (18:02 +0200)]
Document copyin_nofault and copyout_nofault(9)

10 years agoDocument DRIVER_MODULE_ORDERED(9)
François Tigeot [Mon, 22 Jul 2013 15:47:50 +0000 (17:47 +0200)]
Document DRIVER_MODULE_ORDERED(9)

10 years agokernel: Remove global PROC_LOCK and PROC_UNLOCK definitions
François Tigeot [Mon, 22 Jul 2013 11:46:05 +0000 (13:46 +0200)]
kernel: Remove global PROC_LOCK and PROC_UNLOCK definitions

Locking in this area varies so much between FreeBSD and DragonFly
that it's best to determine what to do with these macros on a
case-by-case basis

10 years agoRemove <sys/bitstring.h> via 'make upgrade'.
Sascha Wildner [Mon, 22 Jul 2013 10:06:33 +0000 (12:06 +0200)]
Remove <sys/bitstring.h> via 'make upgrade'.

10 years agotools: Add bench tools for accept(2) and connect(2)
Sepherosa Ziehau [Mon, 22 Jul 2013 06:21:08 +0000 (14:21 +0800)]
tools: Add bench tools for accept(2) and connect(2)

The main reasons behind making these tools instead of using netperf TCP_CC
test are:
- Netperf TCP_CC creates new server for each testing client
- Netperf TCP_CC creates new listen socket on different TCP port for each
  testing client
- Netperf TCP_CC created listen socket is in blocking mode
- Netperf TCP_CC closes accepted sockets immediately

All of the above listed items make netperf TCP_CC do not reflect real life
TCP server usage.

Tools in accept_connect:
- "connect_client"
  Fork certain amount of processes to perform blocking connect(2)/close(2)
  for the certain amount of time.
- "accpet_server"
  Fork certain amount of processes to perform blocking accept(2) on the same
  addr/port bound socket.  close(2) on the accepted socket is called
  immediately.  If -r is specified, each processes will create their own
  listen socket on the same port/addr w/ SO_REUSEPORT sockopt.
- "kq_accept_server"
  Fork certain amount of processes to perform non-blocking accept(2) on the
  same addr/port bound socket w/ help of kqueue(2).  close(2) on the accepted
  socket is called after the other side closed the connection.  If -r is
  specified, each processes will create their own listen socket on the same
  port/addr w/ SO_REUSEPORT sockopt.

kq_accept_server closely mimics the real life TCP server.

10 years agoRemove duplicated bitstring.h file
François Tigeot [Mon, 22 Jul 2013 05:25:49 +0000 (07:25 +0200)]
Remove duplicated bitstring.h file

Noticed-by: vsrinivas
10 years agosocket: Use modulo-N for SO_REUSEPORT socket locating
Sepherosa Ziehau [Mon, 22 Jul 2013 05:15:50 +0000 (13:15 +0800)]
socket: Use modulo-N for SO_REUSEPORT socket locating

This greatly reduces TCP listen socket completion queue pool token
contention thus saves more cpu time.

When the testing box (i7-2600, broadcom 5719) is doing 335Kconns/s,
TCP listen socket completion queue token contention is reduced from
20K/s to 500/s and the idle time on each hyperthread is increased by
~5%.

10 years agosocket: Avoid possible race between netmsg_so_notify() and sowakeup() (2)
Sepherosa Ziehau [Mon, 22 Jul 2013 03:05:12 +0000 (11:05 +0800)]
socket: Avoid possible race between netmsg_so_notify() and sowakeup() (2)

If predict ever blocks, 'tok' will be released, so SSB_MEVENT set
beforehand could have been cleared when we reach here.  In case
that happens, we set SSB_MEVENT again, after the notify has been
queued.

10 years agooce: Don't clear M_PKTHDR when create mbuf chain
Sepherosa Ziehau [Mon, 22 Jul 2013 02:17:59 +0000 (10:17 +0800)]
oce: Don't clear M_PKTHDR when create mbuf chain

10 years agokernel: Add PROC_LOCK and PROC_UNLOCK
François Tigeot [Sun, 21 Jul 2013 19:22:41 +0000 (21:22 +0200)]
kernel: Add PROC_LOCK and PROC_UNLOCK

Inspired-from: FreeBSD

10 years agokernel: Implement copyin_nofault and copyout_nofault
François Tigeot [Sun, 7 Jul 2013 17:24:55 +0000 (19:24 +0200)]
kernel: Implement copyin_nofault and copyout_nofault

Inspired-from: FreeBSD

10 years agokernel: add vm_page_unhold_pages()
François Tigeot [Sun, 21 Jul 2013 19:41:28 +0000 (21:41 +0200)]
kernel: add vm_page_unhold_pages()

10 years agokernel: Add DRIVER_MODULE_ORDERED macro
Johannes Hofmann [Sun, 21 Jul 2013 19:40:31 +0000 (21:40 +0200)]
kernel: Add DRIVER_MODULE_ORDERED macro

10 years agokernel: Import bitcount16() from FreeBSD
François Tigeot [Sat, 20 Jul 2013 16:59:55 +0000 (18:59 +0200)]
kernel: Import bitcount16() from FreeBSD

10 years agokernel: Import unrhdr function family from FreeBSD
François Tigeot [Sun, 21 Jul 2013 19:37:03 +0000 (21:37 +0200)]
kernel: Import unrhdr function family from FreeBSD

10 years agoRemove some more unused externs.
Sascha Wildner [Sun, 21 Jul 2013 19:38:40 +0000 (21:38 +0200)]
Remove some more unused externs.

10 years agoadd .Mt to man pages in bin/ games/ sys/ tools/
Franco Fichtner [Thu, 18 Jul 2013 20:25:28 +0000 (22:25 +0200)]
add .Mt to man pages in bin/ games/ sys/ tools/

10 years agoadd .Mt to man pages in usr.bin/
Franco Fichtner [Thu, 18 Jul 2013 20:04:49 +0000 (22:04 +0200)]
add .Mt to man pages in usr.bin/

10 years agostart adding .Mt to email addresses in man pages
Franco Fichtner [Thu, 18 Jul 2013 18:37:34 +0000 (20:37 +0200)]
start adding .Mt to email addresses in man pages

This covers share/man/man[1579]. It also consolidates multiple lines
into one, removes spurious double quotes in names or emails,
and changes punctuation where appropriate. The target style is:
.An Name Aq Mt name@somewhere.tdl