Revision c67e5382fb3f312c95d8d01db40fb398e6da454d authored by H Hartley Sweeten on 31 May 2012, 23:26:10 UTC, committed by Linus Torvalds on 01 June 2012, 00:49:27 UTC
The init/mount.o source files produce a number of sparse warnings of the
type:

warning: incorrect type in argument 1 (different address spaces)
   expected char [noderef] <asn:1>*dev_name
   got char *name

This is due to the syscalls expecting some of the arguments to be user
pointers but they are being passed as kernel pointers.  This is harmless
but adds a lot of noise to a sparse build.

To limit the noise just disable the sparse checking in the relevant source
files, but still display a warning so that the user knows this has been
done.

Since the sparse checking has been disabled we can also remove the __user
__force casts that are scattered thru the source.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 243f380
Raw File
Kconfig.iosched
if BLOCK

menu "IO Schedulers"

config IOSCHED_NOOP
	bool
	default y
	---help---
	  The no-op I/O scheduler is a minimal scheduler that does basic merging
	  and sorting. Its main uses include non-disk based block devices like
	  memory devices, and specialised software or hardware environments
	  that do their own scheduling and require only minimal assistance from
	  the kernel.

config IOSCHED_DEADLINE
	tristate "Deadline I/O scheduler"
	default y
	---help---
	  The deadline I/O scheduler is simple and compact. It will provide
	  CSCAN service with FIFO expiration of requests, switching to
	  a new point in the service tree and doing a batch of IO from there
	  in case of expiry.

config IOSCHED_CFQ
	tristate "CFQ I/O scheduler"
	# If BLK_CGROUP is a module, CFQ has to be built as module.
	depends on (BLK_CGROUP=m && m) || !BLK_CGROUP || BLK_CGROUP=y
	default y
	---help---
	  The CFQ I/O scheduler tries to distribute bandwidth equally
	  among all processes in the system. It should provide a fair
	  and low latency working environment, suitable for both desktop
	  and server systems.

	  This is the default I/O scheduler.

	  Note: If BLK_CGROUP=m, then CFQ can be built only as module.

config CFQ_GROUP_IOSCHED
	bool "CFQ Group Scheduling support"
	depends on IOSCHED_CFQ && BLK_CGROUP
	default n
	---help---
	  Enable group IO scheduling in CFQ.

choice
	prompt "Default I/O scheduler"
	default DEFAULT_CFQ
	help
	  Select the I/O scheduler which will be used by default for all
	  block devices.

	config DEFAULT_DEADLINE
		bool "Deadline" if IOSCHED_DEADLINE=y

	config DEFAULT_CFQ
		bool "CFQ" if IOSCHED_CFQ=y

	config DEFAULT_NOOP
		bool "No-op"

endchoice

config DEFAULT_IOSCHED
	string
	default "deadline" if DEFAULT_DEADLINE
	default "cfq" if DEFAULT_CFQ
	default "noop" if DEFAULT_NOOP

endmenu

endif
back to top