History log of /src/sys/dev/dmover/dmover_io.c |
Revision | | Date | Author | Comments |
1.46 |
| 10-Feb-2019 |
christos | Introduce PR_ZERO to avoid open-coding memset()s everywhere. OK riastradh@.
|
1.45 |
| 30-Nov-2017 |
christos | branches: 1.45.4; add fo_name so we can identify the fileops in a simple way.
|
1.44 |
| 20-Aug-2015 |
christos | include "ioconf.h" to get the 'void <driver>attach(int count);' prototype.
|
1.43 |
| 25-Jul-2014 |
dholland | branches: 1.43.4; Add d_discard to all struct cdevsw instances I could find.
All have been set to "nodiscard"; some should get a real implementation.
|
1.42 |
| 16-Mar-2014 |
dholland | branches: 1.42.2; Change (mostly mechanically) every cdevsw/bdevsw I can find to use designated initializers.
I have not built every extant kernel so I have probably broken at least one build; however I've also found and fixed some wrong cdevsw/bdevsw entries so even if so I think we come out ahead.
|
1.41 |
| 25-Jul-2013 |
msaitoh | Clear struct stat correctly. Fixes PR#46373.
|
1.40 |
| 14-May-2011 |
jakllsch | branches: 1.40.4; 1.40.14; 1.40.18; Modernize simple_lock() and ltsleep() usage in dmover(4). (Thanks to rmind for providing hints on what was necessary.)
|
1.39 |
| 13-Nov-2010 |
uebayasi | branches: 1.39.2; dmover(4) really uses uvm(9). (Wasn't revealed by i386/ALL...)
|
1.38 |
| 13-Nov-2010 |
uebayasi | Don't pull in the whole uvm(9) API to access only PAGE_SIZE and some other constants. These are provided by sys/param.h now.
|
1.37 |
| 20-Dec-2009 |
dsl | branches: 1.37.4; If a multithreaded app closes an fd while another thread is blocked in read/write/accept, then the expectation is that the blocked thread will exit and the close complete. Since only one fd is affected, but many fd can refer to the same file, the close code can only request the fs code unblock with ERESTART. Fixed for pipes and sockets, ERESTART will only be generated after such a close - so there should be no change for other programs. Also rename fo_abort() to fo_restart() (this used to be fo_drain()). Fixes PR/26567
|
1.36 |
| 09-Dec-2009 |
dsl | Rename fo_drain() to fo_abort(), 'drain' is used to mean 'wait for output do drain' in many places, whereas fo_drain() was called in order to force blocking read()/write() etc calls to return to userspace so that a close() call from a different thread can complete. In the sockets code comment out the broken code in the inner function, it was being called from compat code.
|
1.35 |
| 01-May-2009 |
nonaka | compile again.
|
1.34 |
| 11-Apr-2009 |
christos | Fix locking as Andy explained. Also fill in uid and gid like sys_pipe did.
|
1.33 |
| 11-Apr-2009 |
christos | Fix PR/37878 and PR/37550: Provide stat(2) for all devices and don't use fbadop_stat.
|
1.32 |
| 04-Apr-2009 |
ad | Add fileops::fo_drain(), to be called from fd_close() when there is more than one active reference to a file descriptor. It should dislodge threads sleeping while holding a reference to the descriptor. Implemented only for sockets but should be extended to pipes, fifos, etc.
Fixes the case of a multithreaded process doing something like the following, which would have hung until the process got a signal.
thr0 accept(fd, ...) thr1 close(fd)
|
1.31 |
| 26-Mar-2008 |
ad | branches: 1.31.4; 1.31.12; 1.31.14; 1.31.18; Update dmover fileops to compile again. From he@.
|
1.30 |
| 01-Mar-2008 |
rmind | Welcome to 4.99.55:
- Add a lot of missing selinit() and seldestroy() calls.
- Merge selwakeup() and selnotify() calls into a single selnotify().
- Add an additional 'events' argument to selnotify() call. It will indicate which event (POLL_IN, POLL_OUT, etc) happen. If unknown, zero may be used.
Note: please pass appropriate value of 'events' where possible. Proposed on: <tech-kern>
|
1.29 |
| 04-Jan-2008 |
ad | branches: 1.29.2; 1.29.6; 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.
|
1.28 |
| 25-Sep-2007 |
ad | branches: 1.28.4; 1.28.10; Use selinit() / seldestroy().
|
1.27 |
| 12-Jul-2007 |
rmind | branches: 1.27.6; 1.27.8; 1.27.10; Implementation of per-CPU work-queues support for workqueue(9) interface. WQ_PERCPU flag for workqueue and additional argument for workqueue_enqueue() to assign a CPU might be used. Notes: - For now, the list is used for workqueue_queue, which is non-optimal, and will be changed with array, where index would be CPU ID. - The data structures should be changed to be cache-friendly.
Reviewed by: <yamt>, <tech-kern>
|
1.26 |
| 12-Mar-2007 |
ad | Pass an ipl argument to pool_init/POOL_INIT to be used when initializing the pool's lock.
|
1.25 |
| 13-Jan-2007 |
cube | branches: 1.25.2; 1.25.6; Complete initializers so those files compile.
|
1.24 |
| 21-Dec-2006 |
yamt | merge yamt-splraiseipl branch.
- finish implementing splraiseipl (and makeiplcookie). http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html - complete workqueue(9) and fix its ipl problem, which is reported to cause audio skipping. - fix netbt (at least compilation problems) for some ports. - fix PR/33218.
|
1.23 |
| 28-Jul-2006 |
ad | branches: 1.23.4; 1.23.6; Correct first arg to falloc().
|
1.22 |
| 14-May-2006 |
elad | integrate kauth.
|
1.21 |
| 01-Mar-2006 |
yamt | branches: 1.21.2; 1.21.4; 1.21.6; merge yamt-uio_vmspace branch.
- use vmspace rather than proc or lwp where appropriate. the latter is more natural to specify an address space. (and less likely to be abused for random purposes.) - fix a swdmover race.
|
1.20 |
| 17-Jan-2006 |
yamt | branches: 1.20.2; 1.20.4; dmoverioopen: add a missing simple_lock_init().
|
1.19 |
| 24-Dec-2005 |
perry | branches: 1.19.2; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
1.18 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.17 |
| 12-Feb-2005 |
christos | branches: 1.17.6; pass the flag to fdclone.
|
1.16 |
| 05-Dec-2004 |
he | branches: 1.16.4; 1.16.6; Correct a typo: it's fnullop_kqfilter and not fnullop_kqueue.
|
1.15 |
| 30-Nov-2004 |
christos | Cloning cleanup: 1. make fileops const 2. add 2 new negative errno's to `officially' support the cloning hack: - EDUPFD (used to overload ENODEV) - EMOVEFD (used to overload ENXIO) 3. Created an fdclone() function to encapsulate the operations needed for EMOVEFD, and made all cloners use it. 4. Centralize the local noop/badop fileops functions to: fnullop_fcntl, fnullop_poll, fnullop_kqfilter, fbadop_stat
|
1.14 |
| 28-Nov-2004 |
thorpej | Fix the fcntl entry points; cmd is a command, not the flags themselves. Pointed out by Christos (he wrote the broken code originally, and I copied it to another file later :-)
|
1.13 |
| 13-Sep-2003 |
jdolecek | branches: 1.13.4; move dupfd from struct proc to struct lwp - it's per-LWP, not per-process; we use curlwp where the lwp is not directly available, i.e. in device open routines
briefly discussed on tech-kern
|
1.12 |
| 19-Jul-2003 |
thorpej | Add immediate value support for dmoverio transactions.
|
1.11 |
| 29-Jun-2003 |
fvdl | branches: 1.11.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
1.10 |
| 28-Jun-2003 |
darrenr | Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
1.9 |
| 30-May-2003 |
scw | In dmio_read(), make sure to set DMIO_STATE_READ_WAIT in ds->ds_flags before going to sleep.
|
1.8 |
| 21-Mar-2003 |
dsl | Change 'data' argument to fo_ioctl and fo_fcntl from 'caddr_t' to 'void *'. Avoids a lot of casting and removes the need for some line breaks. Removed a load of (caddr_t) casts from calls to copyin/copyout as well. (approved by christos - he has a plan to remove caddr_t...)
|
1.7 |
| 07-Nov-2002 |
thorpej | Fix signed/unsigned comparison warnings.
|
1.6 |
| 23-Oct-2002 |
jdolecek | merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework currently supported events include socket, file, directory, fifo, pipe, tty and device changes, and monitoring of processes and signals
kqueue is supported by all writable filesystems in NetBSD tree (with exception of Coda) and all device drivers supporting poll(2)
based on work done by Jonathan Lemon for FreeBSD initial NetBSD port done by Luke Mewburn and Jason Thorpe
|
1.5 |
| 06-Sep-2002 |
gehenna | Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to dynamically generated by config(8).
- All device switches is defined as a constant structure in device drivers.
- The new grammer ``device-major'' is introduced to ``files''.
device-major <prefix> char <num> [block <num>] [<rules>]
- All device major numbers must be listed up in port dependent majors.<arch> by using this grammer.
- Added the new naming convention. The name of the device switch must be <prefix>_[bc]devsw for auto-generation of device switch tables.
- The backward compatibility of loading block/character device switch by LKM framework is broken. This is necessary to convert from block/character device major to device name in runtime and vice versa.
- The restriction to assign device major by LKM is completely removed. We don't need to reserve LKM entries for dynamic loading of device switch.
- In compile time, device major numbers list is packed into the kernel and the LKM framework will refer it to assign device major number dynamically.
|
1.4 |
| 04-Aug-2002 |
thorpej | branches: 1.4.2; 1.4.4; 1.4.6; *Actually return* EINVAL when the output stream UIO's I/O is larger than SSIZE_MAX.
|
1.3 |
| 02-Aug-2002 |
thorpej | Fix a signed/unsigned botch that broke an error recovery path. (I could have sworn I fixed this bug over a week ago...)
|
1.2 |
| 02-Aug-2002 |
thorpej | Grr, fix typo in RCS ID tag.
|
1.1 |
| 02-Aug-2002 |
thorpej | dmover(9) -- an interface to hardware-assisted data movers. This allows clients to use a hardware-assisted data mover to clear a region of memory, fill a region of memory with a specific value, copy a region of memory, and perform simple boolean operations such as XOR on multiple regions of memory.
Included here is a software back-end which can serve as an example of how to write a back-end (and also provides a fall-back in case hardware for a given function is not available), as well as a dmoverio(4) pseudo- device which provides access to dmover(9) to userland via a message passing interface.
dmover(9) is still a work-in-progress -- a few minor changes to the interface are expected.
|
1.4.6.3 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.4.6.2 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.4.6.1 |
| 04-Aug-2002 |
jdolecek | file dmover_io.c was added on branch kqueue on 2002-09-06 08:44:01 +0000
|
1.4.4.3 |
| 29-Aug-2002 |
gehenna | Add character device switch.
|
1.4.4.2 |
| 29-Aug-2002 |
gehenna | catch up with -current.
|
1.4.4.1 |
| 04-Aug-2002 |
gehenna | file dmover_io.c was added on branch gehenna-devsw on 2002-08-29 05:22:23 +0000
|
1.4.2.3 |
| 11-Nov-2002 |
nathanw | Catch up to -current
|
1.4.2.2 |
| 17-Sep-2002 |
nathanw | Catch up to -current.
|
1.4.2.1 |
| 04-Aug-2002 |
nathanw | file dmover_io.c was added on branch nathanw_sa on 2002-09-17 21:19:31 +0000
|
1.11.2.9 |
| 15-Feb-2005 |
skrll | Sync with HEAD.
|
1.11.2.8 |
| 17-Jan-2005 |
skrll | Adapt to branch.
|
1.11.2.7 |
| 18-Dec-2004 |
skrll | Sync with HEAD.
|
1.11.2.6 |
| 29-Nov-2004 |
skrll | Sync with HEAD.
|
1.11.2.5 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.11.2.4 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.11.2.3 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.11.2.2 |
| 02-Jul-2003 |
wrstuden | Check in lwp-ification changes needed to get the evbarm/IQ80321 kernel to compile.
only question I have is over the: l->l_proc->p_stats->p_ru.ru_msgsnd++; command at line 245 of dev/kttcp.c. Should we be doing per-lwp or per-proc accounting?
|
1.11.2.1 |
| 02-Jul-2003 |
darrenr | Apply the aborted ktrace-lwp changes to a specific branch. This is just for others to review, I'm concerned that patch fuziness may have resulted in some errant code being generated but I'll look at that later by comparing the diff from the base to the branch with the file I attempt to apply to it. This will, at the very least, put the changes in a better context for others to review them and attempt to tinker with removing passing of 'struct lwp' through the kernel.
|
1.13.4.1 |
| 23-Feb-2005 |
he | Pull up revision 1.14 (requested by thorpej in ticket #1008): Fix the fcntl entry points; ``cmd'' is a command, not the flags themselves.
|
1.16.6.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.16.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.17.6.7 |
| 17-Mar-2008 |
yamt | sync with head.
|
1.17.6.6 |
| 21-Jan-2008 |
yamt | sync with head
|
1.17.6.5 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.17.6.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.17.6.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.17.6.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.17.6.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.19.2.2 |
| 04-Feb-2006 |
yamt | adapt dmover.
|
1.19.2.1 |
| 01-Feb-2006 |
yamt | sync with head.
|
1.20.4.2 |
| 01-Jun-2006 |
kardel | Sync with head.
|
1.20.4.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.20.2.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.21.6.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.21.4.1 |
| 08-Mar-2006 |
elad | Adapt to kernel authorization KPI.
|
1.21.2.2 |
| 11-Aug-2006 |
yamt | sync with head
|
1.21.2.1 |
| 24-May-2006 |
yamt | sync with head.
|
1.23.6.1 |
| 18-Sep-2006 |
yamt | don't bother to wrap splraiseipl and IPL_xxx with #if notyet.
|
1.23.4.2 |
| 01-Feb-2007 |
ad | Sync with head.
|
1.23.4.1 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.25.6.3 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.25.6.2 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.25.6.1 |
| 13-Mar-2007 |
ad | Sync with head.
|
1.25.2.1 |
| 24-Mar-2007 |
yamt | sync with head.
|
1.27.10.1 |
| 06-Oct-2007 |
yamt | sync with head.
|
1.27.8.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.27.8.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.27.8.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.27.6.1 |
| 02-Oct-2007 |
joerg | Sync with HEAD.
|
1.28.10.1 |
| 08-Jan-2008 |
bouyer | Sync with HEAD
|
1.28.4.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.29.6.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.29.2.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.31.18.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.31.14.1 |
| 04-Apr-2009 |
snj | Pull up following revision(s) (requested by ad in ticket #661): sys/arch/xen/xen/xenevt.c: revision 1.32 sys/compat/svr4/svr4_net.c: revision 1.56 sys/compat/svr4_32/svr4_32_net.c: revision 1.19 sys/dev/dmover/dmover_io.c: revision 1.32 sys/dev/putter/putter.c: revision 1.21 sys/kern/kern_descrip.c: revision 1.190 sys/kern/kern_drvctl.c: revision 1.23 sys/kern/kern_event.c: revision 1.64 sys/kern/sys_mqueue.c: revision 1.14 sys/kern/sys_pipe.c: revision 1.109 sys/kern/sys_socket.c: revision 1.59 sys/kern/uipc_syscalls.c: revision 1.136 sys/kern/vfs_vnops.c: revision 1.164 sys/kern/uipc_socket.c: revision 1.188 sys/net/bpf.c: revision 1.144 sys/net/if_tap.c: revision 1.55 sys/opencrypto/cryptodev.c: revision 1.47 sys/sys/file.h: revision 1.67 sys/sys/param.h: patch sys/sys/socketvar.h: revision 1.119 Add fileops::fo_drain(), to be called from fd_close() when there is more than one active reference to a file descriptor. It should dislodge threads sleeping while holding a reference to the descriptor. Implemented only for sockets but should be extended to pipes, fifos, etc. Fixes the case of a multithreaded process doing something like the following, which would have hung until the process got a signal. thr0 accept(fd, ...) thr1 close(fd)
|
1.31.12.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.31.4.2 |
| 11-Mar-2010 |
yamt | sync with head
|
1.31.4.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.37.4.1 |
| 31-May-2011 |
rmind | sync with head
|
1.39.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.40.18.2 |
| 18-May-2014 |
rmind | sync with head
|
1.40.18.1 |
| 28-Aug-2013 |
rmind | sync with head
|
1.40.14.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.40.14.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.40.4.1 |
| 22-May-2014 |
yamt | 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")
|
1.42.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.43.4.1 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
1.45.4.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|