Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

gsched(8) [freebsd man page]

GSCHED(8)						    BSD System Manager's Manual 						 GSCHED(8)

NAME
gsched -- control utility for disk scheduler GEOM class SYNOPSIS
gsched create [-v] [-a algorithm] provider ... gsched insert [-v] [-a algorithm] provider ... gsched configure [-v] [-a algorithm] node ... gsched destroy [-fv] node ... gsched reset [-v] node ... gsched { list | status | load | unload } DESCRIPTION
The gsched utility (also callable as geom sched ...) changes the scheduling policy of the requests going to a provider. The first argument to gsched indicates an action to be performed: create Create a new provider and geom node using the specified scheduling algorithm. algorithm is the name of the scheduling algorithm used for the provider. Available algorithms include: rr, which implements anticipatory scheduling with round robin service among clients; as, which implements a simple form of anticipatory scheduling with no per-client queue. If the operation succeeds, the new provider should appear with name /dev/<dev>.sched.. The kernel module geom_sched.ko will be loaded if it is not loaded already. insert Operates as "create", but the insertion is "transparent", i.e. the existing provider is rerouted to the newly created geom, which in turn forwards requests to the existing geom. This operation allows one to start/stop a scheduling service on an already exist- ing provider. A subsequent "destroy" will remove the newly created geom and hook the provider back to the original geom. configure Configure existing scheduling provider. It supports the same options as the create command. destroy Destroy the geom specified in the parameter. reset Do nothing. list | status | load | unload See geom(8). Additional options: -f Force the removal of the specified provider. -v Be more verbose. SYSCTL VARIABLES
The following sysctl(8) variables can be used to control the behavior of the SCHED GEOM class. The default value is shown next to each vari- able. kern.geom.sched.debug: 0 Debug level of the SCHED GEOM class. This can be set to a number between 0 and 2 inclusive. If set to 0 minimal debug information is printed, and if set to 2 the maximum amount of debug information is printed. EXIT STATUS
Exit status is 0 on success, and 1 if the command fails. EXAMPLES
The following example shows how to create a scheduling provider for disk /dev/ada0, and how to destroy it. # Load the geom_sched module: kldload geom_sched # Load some scheduler classes used by geom_sched: kldload gsched_rr # Configure device ada0 to use scheduler "rr": geom sched insert -a rr ada0 # Now provider ada0 uses the "rr" algorithm; # the new geom is ada0.sched. # Remove the scheduler on the device: geom sched destroy -v ada0.sched. SEE ALSO
geom(4), geom(8) HISTORY
The gsched utility first appeared in FreeBSD 8.1. AUTHORS
Fabio Checconi <fabio@FreeBSD.org> Luigi Rizzo <luigi@FreeBSD.org> BSD
July 26, 2012 BSD

Check Out this Related Man Page

G_CONSUMER(9)						   BSD Kernel Developer's Manual					     G_CONSUMER(9)

NAME
g_new_consumer, g_destroy_consumer -- GEOM consumers management SYNOPSIS
#include <geom/geom.h> struct g_consumer * g_new_consumer(struct g_geom *gp); void g_destroy_consumer(struct g_consumer *cp); DESCRIPTION
A GEOM consumer is the backdoor through which a geom connects to another GEOM provider and through which I/O requests are sent. The g_new_consumer() function creates a new consumer on geom gp. Before using the new consumer, it has to be attached to a provider with g_attach(9) and opened with g_access(9). The g_destroy_consumer() function destroys the given consumer and cancels all related pending events. This function is the last stage of killing an unwanted consumer. RESTRICTIONS
/CONDITIONS g_new_consumer(): The geom gp has to have an orphan method defined. The topology lock has to be held. g_destroy_consumer(): The consumer must not be attached to a provider. The access count has to be 0. The topology lock has to be held. RETURN VALUES
The g_new_consumer() function returns a pointer to the newly created consumer. EXAMPLES
Create consumer, attach it to given provider, gain read access and clean up. void some_function(struct g_geom *mygeom, struct g_provider *pp) { struct g_consumer *cp; g_topology_assert(); /* Create new consumer on 'mygeom' geom. */ cp = g_new_consumer(mygeom); /* Attach newly created consumer to given provider. */ if (g_attach(cp, pp) != 0) { g_destroy_consumer(cp); return; } /* Open provider for reading through our consumer. */ if (g_access(cp, 1, 0, 0) != 0) { g_detach(cp); g_destroy_consumer(cp); return; } g_topology_unlock(); /* * Read data from provider. */ g_topology_lock(); /* Disconnect from provider (release access count). */ g_access(cp, -1, 0, 0); /* Detach from provider. */ g_detach(cp); /* Destroy consumer. */ g_destroy_consumer(cp); } SEE ALSO
geom(4), DECLARE_GEOM_CLASS(9), g_access(9), g_attach(9), g_bio(9), g_data(9), g_event(9), g_geom(9), g_provider(9), g_provider_by_name(9), g_wither_geom(9) AUTHORS
This manual page was written by Pawel Jakub Dawidek <pjd@FreeBSD.org>. BSD
January 16, 2004 BSD
Man Page