1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-18 10:35:55 +00:00
freebsd/sys/geom
Steven Hartland 6f926c0b82 Added a sysctl (kern.geom.dev.delete_max_sectors) to control the maximum
size of a delete request sent to the providing device performed by g_dev_ioctl.

This allows the kernel and apps via ioctl e.g. newfs -E to request large LBA
deletes which siginificantly improves performance.

Previously this was hard coded to 65536 sectors, the new default is 262144
which doubles the throughput of deletes on commonly available SSD's.

In tests on a Intel 520 120GB FW: 400i disk it improved the delete throughput
from 1.6GB/s to over 2.6GB/s on a full disk delete such as that done via
newfs -E

For some SSD's where delete time is pretty much constant, no matter what
the request, setting this to 0 will provide significantly better throughput
e.g. Samsung 840 240GB FW DXT07B0Q @ 262144 = 79G/s, @ 0 = 2259G/s

Reviewed by:	mav
Approved by:	pjd (mentor)
MFC after:	2 weeks
2013-04-26 15:43:24 +00:00
..
bde - Don't pass geom and provider names as format strings. 2012-11-20 12:32:18 +00:00
cache - Don't pass geom and provider names as format strings. 2012-11-20 12:32:18 +00:00
concat
eli Always initialize sc_ekey, because as of r238116 it is always used. 2012-08-10 18:43:29 +00:00
gate Remove extra bio_data and bio_length copying to child request after calling 2013-03-26 05:42:12 +00:00
journal Add flags argument to vfs_write_resume() and remove 2013-01-11 06:08:32 +00:00
label Comment typo fix. 2013-04-16 22:42:40 +00:00
linux_lvm
mirror g_mirror: g_getattr() failure should not be fatal 2013-01-26 10:50:04 +00:00
mountver - Don't pass geom and provider names as format strings. 2012-11-20 12:32:18 +00:00
multipath Make GEOM MULTIPATH to report unmapped bio support if underling path report 2013-03-25 07:24:58 +00:00
nop move the error report to a lower log level... Now you can see when it 2013-04-13 19:02:58 +00:00
part The geom_part provider supports unmapped bio iff the underlying 2013-03-19 14:50:24 +00:00
raid Remove extra bio_data and bio_length copying to child request after calling 2013-03-26 05:42:12 +00:00
raid3 Allow to insert new component to geom_raid3 without specifying number. 2013-01-15 10:06:35 +00:00
sched - Don't pass geom and provider names as format strings. 2012-11-20 12:32:18 +00:00
shsec
stripe
uncompress Remove unneeded G_PF_CANDELETE flag. 2012-08-28 19:28:31 +00:00
uzip Remove unneeded G_PF_CANDELETE flag. 2012-08-28 19:28:31 +00:00
vinum
virstor In virstor_ctl_stop(), check for a valid softc before trying to update 2012-08-03 20:24:16 +00:00
zero
geom_aes.c - Don't pass geom and provider names as format strings. 2012-11-20 12:32:18 +00:00
geom_bsd_enc.c
geom_bsd.c
geom_ccd.c
geom_ctl.c
geom_ctl.h
geom_dev.c Added a sysctl (kern.geom.dev.delete_max_sectors) to control the maximum 2013-04-26 15:43:24 +00:00
geom_disk.c Introduce a symbol for the GEOM class name instead of using the ad-hoc string 2013-04-15 15:55:40 +00:00
geom_disk.h Introduce a symbol for the GEOM class name instead of using the ad-hoc string 2013-04-15 15:55:40 +00:00
geom_dump.c Introduce a symbol for the GEOM class name instead of using the ad-hoc string 2013-04-15 15:55:40 +00:00
geom_event.c Make g_wither_washer() to not loop by itself, but only when there was some 2013-03-24 03:15:20 +00:00
geom_flashmap.c Partial MFP4 of 222836: 2013-04-16 17:47:13 +00:00
geom_fox.c
geom_int.h Make g_wither_washer() to not loop by itself, but only when there was some 2013-03-24 03:15:20 +00:00
geom_io.c Correct the page count when excess length is trimmed from the bio. 2013-03-21 22:36:43 +00:00
geom_kern.c
geom_map.c
geom_mbr_enc.c
geom_mbr.c - Don't pass geom and provider names as format strings. 2012-11-20 12:32:18 +00:00
geom_pc98_enc.c
geom_pc98.c
geom_redboot.c
geom_slice.c geom_slice.c and its consumers like GEOM_LABEL are not touching the data 2013-03-26 07:55:24 +00:00
geom_slice.h - Don't pass geom and provider names as format strings. 2012-11-20 12:32:18 +00:00
geom_subr.c Make g_wither_washer() to not loop by itself, but only when there was some 2013-03-24 03:15:20 +00:00
geom_sunlabel_enc.c
geom_sunlabel.c
geom_vfs.c Implement the concept of the unmapped VMIO buffers, i.e. buffers which 2013-03-19 14:13:12 +00:00
geom_vfs.h
geom_vol_ffs.c
geom.h Implement the concept of the unmapped VMIO buffers, i.e. buffers which 2013-03-19 14:13:12 +00:00
notes