History log of /freebsd-10-stable/sys/geom/zero/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
260385 07-Jan-2014 scottl

MFC Alexander Motin's GEOM direct dispatch work:

r256603:
Introduce new function devstat_end_transaction_bio_bt(), adding new argument
to specify present time. Use this function to move binuptime() out of lock,
substantially reducing lock congestion when slow timecounter is used.

r256606:
Move g_io_deliver() out of the lock, as required for direct dispatch.
Move g_destroy_bio() out too to reduce lock scope even more.

r256607:
Fix passing uninitialized bio_resid argument to g_trace().

r256610:
Add unmapped I/O support to GEOM RAID.

r256830:
Restore BIO_UNMAPPED and BIO_TRANSIENT_MAPPING in biodonne() when unmapping
temporary mapped buffer. That fixes double unmap if biodone() called twice
for the same BIO (but with different done methods).

r256880:
Merge GEOM direct dispatch changes from the projects/camlock branch.

When safety requirements are met, it allows to avoid passing I/O requests
to GEOM g_up/g_down thread, executing them directly in the caller context.
That allows to avoid CPU bottlenecks in g_up/g_down threads, plus avoid
several context switches per I/O.

r259247:
Fix bug introduced at r256607. We have to recalculate bp_resid here since
sizes of original and completed requests may differ due to end of media.

Testing of the stable/10 merge was done by Netflix, but all of the credit
goes to Alexander and iX Systems.

Submitted by: mav
Sponsored by: iX Systems


/freebsd-10-stable/sys/cam/ata/ata_da.c
/freebsd-10-stable/sys/cam/scsi/scsi_da.c
/freebsd-10-stable/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
/freebsd-10-stable/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
/freebsd-10-stable/sys/dev/md/md.c
/freebsd-10-stable/sys/geom/concat/g_concat.c
/freebsd-10-stable/sys/geom/concat/g_concat.h
/freebsd-10-stable/sys/geom/gate/g_gate.c
/freebsd-10-stable/sys/geom/geom.h
/freebsd-10-stable/sys/geom/geom_dev.c
/freebsd-10-stable/sys/geom/geom_disk.c
/freebsd-10-stable/sys/geom/geom_disk.h
/freebsd-10-stable/sys/geom/geom_int.h
/freebsd-10-stable/sys/geom/geom_io.c
/freebsd-10-stable/sys/geom/geom_kern.c
/freebsd-10-stable/sys/geom/geom_slice.c
/freebsd-10-stable/sys/geom/geom_vfs.c
/freebsd-10-stable/sys/geom/mirror/g_mirror.c
/freebsd-10-stable/sys/geom/mirror/g_mirror.h
/freebsd-10-stable/sys/geom/multipath/g_multipath.c
/freebsd-10-stable/sys/geom/nop/g_nop.c
/freebsd-10-stable/sys/geom/nop/g_nop.h
/freebsd-10-stable/sys/geom/part/g_part.c
/freebsd-10-stable/sys/geom/raid/g_raid.c
/freebsd-10-stable/sys/geom/raid/g_raid.h
/freebsd-10-stable/sys/geom/raid/md_ddf.c
/freebsd-10-stable/sys/geom/raid/md_intel.c
/freebsd-10-stable/sys/geom/raid/md_jmicron.c
/freebsd-10-stable/sys/geom/raid/md_nvidia.c
/freebsd-10-stable/sys/geom/raid/md_promise.c
/freebsd-10-stable/sys/geom/raid/md_sii.c
/freebsd-10-stable/sys/geom/raid/tr_concat.c
/freebsd-10-stable/sys/geom/raid/tr_raid0.c
/freebsd-10-stable/sys/geom/raid/tr_raid1.c
/freebsd-10-stable/sys/geom/raid/tr_raid1e.c
/freebsd-10-stable/sys/geom/raid/tr_raid5.c
/freebsd-10-stable/sys/geom/stripe/g_stripe.c
/freebsd-10-stable/sys/geom/stripe/g_stripe.h
g_zero.c
/freebsd-10-stable/sys/kern/subr_devstat.c
/freebsd-10-stable/sys/kern/vfs_bio.c
/freebsd-10-stable/sys/sys/devicestat.h
/freebsd-10-stable/sys/sys/proc.h
256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


254936 26-Aug-2013 mav

MFprojects/camlock r254895:
Add unmapped BIO support to GEOM ZERO if kern.geom.zero.clear is cleared.


227309 07-Nov-2011 ed

Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.

The SYSCTL_NODE macro defines a list that stores all child-elements of
that node. If there's no SYSCTL_DECL macro anywhere else, there's no
reason why it shouldn't be static.


207877 10-May-2010 jh

In g_zero_destroy_geom(), return 0 instead of EBUSY in the success case.
EBUSY was probably used as a workaround for the deadlock fixed in r207671.

Approved by: pjd
X-MFC after: r207671


155174 01-Feb-2006 pjd

Remove trailing spaces.


154473 17-Jan-2006 pjd

Move $FreeBSD$ from comment to __FBSDID().


153251 08-Dec-2005 pjd

- Allow to specify the byte which will be used for filling read buffer.
- Improve sysctl description a bit.

Submitted by: Ivan Voras <ivoras@gmail.com>


148382 25-Jul-2005 pjd

Add a very simple and small GEOM class - ZERO.
It creates very huge provider (41PB) /dev/gzero.
On BIO_READ request it zero-fills bio_data and on BIO_WRITE it does nothing.
You can also set kern.geom.zero.clear sysctl to 0 to do nothing even for
BIO_READ.

I'm using it for performance testing where it is very helpful.

MFC after: 3 days