Commit Graph

174516 Commits

Author SHA1 Message Date
Nitin Gupta 644bf7b598 Staging: xvmalloc memory allocator
* Features:
 - Low metadata overhead (just 4 bytes per object)
 - O(1) Alloc/Free - except when we have to call system page allocator to
   get additional memory.
 - Very low fragmentation: In all tests, xvmalloc memory usage is within 12%
   of "Ideal".
 - Pool based allocator: Each pool can grow and shrink.
 - It maps pages only when required. So, it does not hog vmalloc area which
   is very small on 32-bit systems.

SLUB allocator could not be used due to fragmentation issues:
http://code.google.com/p/compcache/wiki/AllocatorsComparison
Data here shows kmalloc using ~43% more memory than TLSF and xvMalloc
is showed ~2% more space efficiency than TLSF (due to smaller metadata).
Creating various kmem_caches can reduce space efficiency gap but still
problem of being limited to low memory exists. Also, it depends on
allocating higher order pages to reduce fragmentation - this is not
acceptable for ramzswap as it is used under memory crunch (its a swap
device!).

SLOB allocator could not be used do to reasons mentioned here:
http://lkml.org/lkml/2009/3/18/210

* Implementation:
It uses two-level bitmap search to find free list containing block of
correct size. This idea is taken from TLSF (Two-Level Segregate Fit)
allocator and is well explained in its paper (see [Links] below).

* Limitations:
 - Poor scalability: No per-cpu data structures (work in progress).

[Links]
1. Details and Performance data:
http://code.google.com/p/compcache/wiki/xvMalloc
http://code.google.com/p/compcache/wiki/xvMallocPerformance

2. TLSF memory allocator:
home: http://rtportal.upv.es/rtmalloc/
paper: http://rtportal.upv.es/rtmalloc/files/MRBC_2008.pdf

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:04 -08:00
Ian Abbott efdf83c176 Staging: comedi: pcl816: update convert_src mask for AI cmdtest
The COMEDI_CMDTEST ioctl needs to clear unsupported bits in the
struct comedi_cmd's convert_src and other *_src members.  This
needs fixing in the pcl816 driver's AI cmdtest.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:04 -08:00
Ian Abbott 48b1aff5b9 Staging: comedi: initialize divisor variables
The i8253_cascade_ns_to_timer_2div() function (and
i8253_cascade_ns_to_timer macro) checks the old values *d1 and *d2
for correctness as a heuristic before calculating new values.  Don't
call the function with uninitialized values in *d1 and *d2.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:04 -08:00
Ian Abbott 67a6efb1f8 Staging: comedi: serial2002: decrease stack usage
512 bytes of stack can be saved in serial_2002_open() by modifying
'struct config_t'.  A short int suffices for the 'kind' and 'bits'
members.  (Actually, a char would suffice, but wouldn't save any more
stack than a short int.)

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:04 -08:00
Bernd Porr ea25371a78 Staging: comedi: fix usbdux timeout bug
I've fixed a bug in the USBDUX driver which caused timeouts while
sending commands to the boards. This was mainly because of one bulk
transfer which had a timeout of 1ms (!). I've now set all timeouts to
1000ms.

From: Bernd Porr <BerndPorr@f2s.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:03 -08:00
Dirk Hohndel 26ac87851a Staging: comedi: ke_counter: fix style issues
80 char limit (where useful)
braces around single line block
KERN_ facility for printk

Signed-off-by: Dirk Hohndel <hohndel@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:03 -08:00
Dirk Hohndel 13ccea3ff0 Staging: comedi: ii_pci_20kc: fix style printk
add KERN_ facility to printk (mostly KERN_INFO, some KERN_WARNING)
I think I found a bug - commented on it but didn't change as it's just
in a printk (off by 1 error in output)

Signed-off-by: Dirk Hohndel <hohndel@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:03 -08:00
Dirk Hohndel dc1fe47941 Staging: comedi: ii_pci20kc: white space fixes
No code changes - left some 80 char violations alone as
folding those lines would have made code less readable

Signed-off-by: Dirk Hohndel <hohndel@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:03 -08:00
Dirk Hohndel 932b3ee7e3 Staging: comedi: icp_multi: don't init static
don't initialize static variable to 0

Signed-off-by: Dirk Hohndel <hohndel@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:03 -08:00
Dirk Hohndel ca5edf2f4a Staging: comedi: icp_multi: fix style issue printk
add KERN_ facility to printk (mostly KERN_DEBUG, some KERN_WARNING)

Signed-off-by: Dirk Hohndel <hohndel@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:03 -08:00
Dirk Hohndel a622afcb7e Staging: comedi: icp_multi: white space style fixes
no code changes, just fixing white space, line length, etc

Signed-off-by: Dirk Hohndel <hohndel@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:03 -08:00
Dirk Hohndel 64ca6a7eb1 Staging: comedi: gsc_hdpi: style fixes static function
Convert external function to static

Signed-off-by: Dirk Hohndel <hohndel@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:03 -08:00
Dirk Hohndel 95a2572f95 Staging: comedi: gsc_hpdi: Fix style issues
Style cleanup in staging based on Greg's tutorial / checkpatch
Fix 80 char line length (where useful) - includes two changes to code
to make it more logical / readable
Remove {} around single line blocks

Signed-off-by: Dirk Hohndel <hohndel@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:03 -08:00
Dirk Hohndel 92e462c3a5 Staging: comedi: gsc_hpdi: style fixes printk
Style cleanup in staging based on Greg's tutorial / checkpatch
Add printk KERN_ facility level (KERN_WARNING seemed appropriate for all)

Signed-off-by: Dirk Hohndel <hohndel@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:02 -08:00
Klaas van Gend a8c5c198c7 Staging: comedi: drivers: ni_6527: fixup checkpatch.pl warnings
This patch fixes all warnings as issued by checkpatch.pl.
Note that I had to modify some of the logging messages to make that possible.

Signed-off-by: Klaas van Gend <klaas.van.gend@mvista.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:02 -08:00
Klaas van Gend d62a01d861 Staging: comedi: comedi_fc: checkpatch.pl fixes
This patch fixes all warnings as issued by checkpatch.pl.

Signed-off-by: Klaas van Gend <klaas.van.gend@mvista.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:02 -08:00
Kevyn-Alexandre Paré a69fba9e37 Staging: comedi: pcl726: fix coding style issues
Signed-off-by: Kevyn-Alexandre Paré <kevyn.alexandre.pare@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:02 -08:00
Roel Kluin dc8af06898 Staging: comedi: addi-data: Cleanup redundant tests on unsigned
The variables are unsigned so the test `>= 0' is always true,
In these cases the other part of the test catch wrapped values.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:02 -08:00
Klaas van Gend c5dba43b60 staging: comedi: multiq3: add KERN_
Add KERN_ to printk statements to reduce the number of warnings
shown by checkpatch.pl.

Signed-off-by: Klaas van Gend <klaas.van.gend@mvista.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:02 -08:00
Klaas van Gend 446176a743 staging: comedi: multiq3: remove warning on braces
Remove braces in if statements to make the file exhibit less warnings
when checked using checkpatch.pl.

Signed-off-by: Klaas van Gend <klaas.van.gend@mvista.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:02 -08:00
BRAGA, Bruno bacf58a803 Staging: comedi: adl_pci8164 coding style fixes
Corrected coding style:
- excessive curly braces
- printk without KERN_* logging
- 80+ chars per line of code

Signed-off-by: BRAGA, Bruno <bruno.braga@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:02 -08:00
Shawn Bohrer d1babfd466 Staging: comedi: remove EXTERN macro since it is not used
Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:02 -08:00
Shawn Bohrer 37a110c049 Staging: comedi: remove __cplusplus check
c++ isn't supported in the kernel.

Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:02 -08:00
Shawn Bohrer a6279bc9e4 Staging: comedi: Don't check for -ENOIOCTLCMD
unlocked_ioctl() never returns -ENOIOCTLCMD so remove the check.

Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:01 -08:00
Shawn Bohrer 5d7ae22554 Staging: comedi: remove check for HAVE_COMPAT_IOCTL
All new kernels have support for compat_ioctl so remove the check and support
for older kernels.

Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:01 -08:00
Shawn Bohrer 00a1855c21 staging: comedi: Remove check for HAVE_UNLOCKED_IOCTL
All new kernels have unlocked_ioctl so we don't need to check.

Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:01 -08:00
Daniel Patrick Johnson 013f230c4f Staging: comedi: pcmmio: more coding style cleanup
Signed-off-by: Daniel Patrick Johnson <teknotus@teknot.us>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:01 -08:00
Daniel Patrick Johnson d2d08955e7 Staging: comedi: pcmmio: Coding style cleanup
Signed-off-by: Daniel Patrick Johnson <teknotus@teknot.us>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:01 -08:00
Daniel Patrick Johnson 22d89f4abf Staging: Comedi: pcm_common: Fixed all checkpatch issues
Signed-off-by: Daniel Patrick Johnson <teknotus@teknot.us>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:01 -08:00
Daniel Patrick Johnson b055d0d3c7 Staging: comedi: ni_mio_cs.c: coding style cleanup
Signed-off-by: Daniel Patrick Johnson <teknotus@teknot.us>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:51 -08:00
Dirk Hohndel 828684f9a6 Staging: comedi: trivial fix of a very frequent spelling mistake
something-bility is spelled as something-blity so a grep for 'blit'
would find these lines

this is so trivial that I didn't split it by subsystem / copy additional
maintainers - all changes are to comments The only purpose is to get
fewer false positives when grepping around the kernel sources.

Signed-off-by: Dirk Hohndel <hohndel@infradead.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:51 -08:00
Kevyn-Alexandre Paré 56f5f24d1b Staging: comedi: amplc_pc263.c: more coding style fixes
Signed-off-by: Kevyn-Alexandre Paré <kevyn.alexandre.pare@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:51 -08:00
Kevyn-Alexandre Paré abdedefed7 Staging: comedi: amplc_pc263.c: fix coding style issues
Signed-off-by: Kevyn-Alexandre Paré <kevyn.alexandre.pare@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:51 -08:00
Bruce Jones ff492d38ba Staging: comedi: adl_pci7432: coding style cleanup
Correct coding style problems in this file.

Signed-off-by: Bruce Jones <brucej@linux.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:51 -08:00
Bruce Jones 1ab1774f12 Staging: comedi: adl_pci7296: CodingStyle cleanup
Fix up printk's and other simple coding style issues.

Signed-off-by: Bruce Jones <brucej@linux.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:50 -08:00
Bruce Jones 0dfd69bfdb Staging: comedi: acl7225b.c: CodingStyle printk fixups
Clean up the printk's in this driver.

Signed-off-by: Bruce Jones <brucej@linux.com>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:50 -08:00
Shane Warden 2829db3eec Staging: comedi: comedi_compat32.h: Fixed checkpatch.pl issues
Signed-off-by: Shane Warden <shane.warden@onyxneon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:50 -08:00
Bruce Jones 6dd60bc629 Staging: comedi: vmk80xx: cleanup formatting
Clean up formatting of a struct initializer, as per the
standard conventions.

Signed-off-by: Bruce Jones <brucej@linux.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:50 -08:00
Bruce Jones 3c9cd618b9 Staging: comedi: ni_atmio16d: printk fixups
Fix improper use of printks in this driver.  Most are
debug messages under a DEBUG #ifdef, a few are info/warnings
that should get logged for driver error conditions.

Signed-off-by: Bruce Jones <brucej@linux.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:50 -08:00
Bruce Jones ce5ade4f74 Staging: comedi: nt_atmio16d: space and tab fixes
Turn spaces into tabs to keep scripts/checkpatch.pl happy.  The
actual changes here are in a comment, so the script is just
being silly.

Signed-off-by: Bruce Jones <brucej@linux.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:50 -08:00
Bruce Jones 988da29c48 Staging: comedi: ni_atmio16d: brace fixes
Fix improper use of braces in drivers/staging/comedi/drivers/ni_atmio16d.c

Signed-off-by: Bruce Jones <brucej@linux.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:50 -08:00
Bruce Jones 2c146810e3 Staging: comedi: ni_atmio16d: fix formating errors
Correct formatting errors - in this case line length and spaces before
parens.

Signed-off-by: Bruce Jones <brucej@linux.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:50 -08:00
matt mooney 120be77b88 Staging: comedi: mite.h: deletion of unused functions
drivers/mite.h: removed declared but undefined functions mite_ll_from_kvmem
and mite_setregs

Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:50 -08:00
matt mooney 5256fb8818 Staging: comedi: mite.c: fix coding style
- drivers/mite.c: added KERN_ facility level to printk
 - moved EXPORT_SYMBOL macro to follow function/variable

Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:49 -08:00
Allison Randal d1a044083c Staging: comdi: ni_at_ao.c: fix coding style error
The line was too long, used braces on single line for loop body.

Signed-off-by: Allison Randal <allison@parrot.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:49 -08:00
Shane Warden 62eeae9308 Staging: comedi: comedidev.h: Fixed checkpatch.pl issues
Signed-off-by: Shane Warden <shane.warden@onyxneon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:49 -08:00
Shane Warden f36624369f Staging: comedi: comedi_compat32: Fixed checkpatch.pl issues
Signed-off-by: Shane Warden <shane.warden@onyxneon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:49 -08:00
Bart Massey 63a4eca57c Staging: comedi: ni_labpc_cs: wrapped long comments
Signed-off-by: Bart Massey <bart@cs.pdx.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:49 -08:00
Bart Massey 92c4bad75c Staging: comedi: ni_labpc_cs: removed null check from kfree
Signed-off-by: Bart Massey <bart@cs.pdx.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:49 -08:00
Bart Massey 962331810f Staging: comedi: ni_labpc_cs: removed null initialization of static
Signed-off-by: Bart Massey <bart@cs.pdx.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:21:49 -08:00