Commit Graph
100 Commits
Author SHA1 Message Date
Pekka Enberg 9dccc61c83 Staging: w35und: Remove some write-only struct members
There's no point in keeping around struct members that are only written
to but never read.

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-09-15 12:02:17 -07:00
Pekka Enberg a95c69cfe4 Staging: w35und: Convert typedef MTO_PARAMETERS to struct wb35_mto_param
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-09-15 12:02:17 -07:00
Pekka Enberg 58b32cba16 Staging: w35und: Remove unused struct _STATISTICS_INFO
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-09-15 12:02:17 -07:00
Pekka Enberg 27d4642105 Staging: w35und: Convert typedef DESCRIPTOR to struct wb35_descriptor
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-09-15 12:02:17 -07:00
Pekka Enberg ef3bf091f3 Staging: w35und: Cleanup the mlmetxrx_f.h header file
This patch removes the unused MLMEProcThread and MLMEReturnPacket
declarations and indents the header file.

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-09-15 12:02:17 -07:00
Pekka Enberg 27f362e769 Staging: w35und: Remove unused struct _RXBUFFER
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-09-15 12:02:17 -07:00
Pekka Enberg b7caf94fb8 Staging: w35und: Convert MDS typedef to struct w35_mds
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-09-15 12:02:17 -07:00
Pekka Enberg aceda77360 Merge branches 'slab/cleanups' and 'slab/fixes' into for-linus 2009-09-14 20:19:06 +03:00
Pekka Enberg 8e019366ba kmemleak: Don't scan uninitialized memory when kmemcheck is enabled
Ingo Molnar reported the following kmemcheck warning when running both
kmemleak and kmemcheck enabled:

  PM: Adding info for No Bus:vcsa7
  WARNING: kmemcheck: Caught 32-bit read from uninitialized memory
  (f6f6e1a4)
  d873f9f600000000c42ae4c1005c87f70000000070665f666978656400000000
   i i i i u u u u i i i i i i i i i i i i i i i i i i i i i u u u
           ^

  Pid: 3091, comm: kmemleak Not tainted (2.6.31-rc7-tip #1303) P4DC6
  EIP: 0060:[<c110301f>] EFLAGS: 00010006 CPU: 0
  EIP is at scan_block+0x3f/0xe0
  EAX: f40bd700 EBX: f40bd780 ECX: f16b46c0 EDX: 00000001
  ESI: f6f6e1a4 EDI: 00000000 EBP: f10f3f4c ESP: c2605fcc
   DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
  CR0: 8005003b CR2: e89a4844 CR3: 30ff1000 CR4: 000006f0
  DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
  DR6: ffff4ff0 DR7: 00000400
   [<c110313c>] scan_object+0x7c/0xf0
   [<c1103389>] kmemleak_scan+0x1d9/0x400
   [<c1103a3c>] kmemleak_scan_thread+0x4c/0xb0
   [<c10819d4>] kthread+0x74/0x80
   [<c10257db>] kernel_thread_helper+0x7/0x3c
   [<ffffffff>] 0xffffffff
  kmemleak: 515 new suspected memory leaks (see
  /sys/kernel/debug/kmemleak)
  kmemleak: 42 new suspected memory leaks (see /sys/kernel/debug/kmemleak)

The problem here is that kmemleak will scan partially initialized
objects that makes kmemcheck complain. Fix that up by skipping
uninitialized memory regions when kmemcheck is enabled.

Reported-by: Ingo Molnar <[email protected]>
Acked-by: Ingo Molnar <[email protected]>
Acked-by: Catalin Marinas <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
2009-09-04 16:05:55 +01:00
Pekka Enberg 114cfab222 perf report: Make --sort comm,dso,symbol the default
If you're doing performance testing, you're interested in the
symbols anyway so lets make "--sort comm,dso,symbol" the
default sort option.

Signed-off-by: Pekka Enberg <[email protected]>
Acked-by: Peter Zijlstra <[email protected]>
Cc: [email protected]
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-08-05 13:16:04 +02:00
Pekka Enberg 67fc25ef34 Merge branch 'slab/urgent' into for-linus 2009-07-06 10:51:54 +03:00
Pekka Enberg a70c352a37 xen: Use kcalloc() in xen_init_IRQ()
The init_IRQ() function is now called with slab allocator initialized.
Therefore, we must not use the bootmem allocator in xen_init_IRQ().

Fixes the following boot-time warning:

  ------------[ cut here ]------------
  WARNING: at mm/bootmem.c:535 alloc_arch_preferred_bootmem+0x27/0x45()
  Modules linked in:
  Pid: 0, comm: swapper Not tainted 2.6.30 #1
  Call Trace:
   [<ffffffff8102d6e3>] ? warn_slowpath_common+0x73/0xb0
   [<ffffffff810210d9>] ? pvclock_clocksource_read+0x49/0x90
   [<ffffffff812e522f>] ? alloc_arch_preferred_bootmem+0x27/0x45
   [<ffffffff812e5761>] ? ___alloc_bootmem_nopanic+0x39/0xc9
   [<ffffffff812e57fa>] ? ___alloc_bootmem+0x9/0x2f
   [<ffffffff812e9e21>] ? xen_init_IRQ+0x25/0x61
   [<ffffffff812d69ee>] ? start_kernel+0x1b5/0x29e
  ---[ end trace 4eaa2a86a8e2da22 ]---

Acked-by: Jeremy Fitzhardinge <[email protected]>
Tested-by: Christian Kujau <[email protected]>
Reported-by: Christian Kujau <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <1246438278.22417.28.camel@penberg-laptop>
Signed-off-by: Ingo Molnar <[email protected]>
2009-07-01 11:19:47 +02:00
Pekka Enberg ec5a36f94e SLAB: Fix lockdep annotations
Commit 8429db5... ("slab: setup cpu caches later on when interrupts are
enabled") broke mm/slab.c lockdep annotations:

  [   11.554715] =============================================
  [   11.555249] [ INFO: possible recursive locking detected ]
  [   11.555560] 2.6.31-rc1 #896
  [   11.555861] ---------------------------------------------
  [   11.556127] udevd/1899 is trying to acquire lock:
  [   11.556436]  (&nc->lock){-.-...}, at: [<ffffffff810c337f>] kmem_cache_free+0xcd/0x25b
  [   11.557101]
  [   11.557102] but task is already holding lock:
  [   11.557706]  (&nc->lock){-.-...}, at: [<ffffffff810c3cd0>] kfree+0x137/0x292
  [   11.558109]
  [   11.558109] other info that might help us debug this:
  [   11.558720] 2 locks held by udevd/1899:
  [   11.558983]  #0:  (&nc->lock){-.-...}, at: [<ffffffff810c3cd0>] kfree+0x137/0x292
  [   11.559734]  #1:  (&parent->list_lock){-.-...}, at: [<ffffffff810c36c7>] __drain_alien_cache+0x3b/0xbd
  [   11.560442]
  [   11.560443] stack backtrace:
  [   11.561009] Pid: 1899, comm: udevd Not tainted 2.6.31-rc1 #896
  [   11.561276] Call Trace:
  [   11.561632]  [<ffffffff81065ed6>] __lock_acquire+0x15ec/0x168f
  [   11.561901]  [<ffffffff81065f60>] ? __lock_acquire+0x1676/0x168f
  [   11.562171]  [<ffffffff81063c52>] ? trace_hardirqs_on_caller+0x113/0x13e
  [   11.562490]  [<ffffffff8150c337>] ? trace_hardirqs_on_thunk+0x3a/0x3f
  [   11.562807]  [<ffffffff8106603a>] lock_acquire+0xc1/0xe5
  [   11.563073]  [<ffffffff810c337f>] ? kmem_cache_free+0xcd/0x25b
  [   11.563385]  [<ffffffff8150c8fc>] _spin_lock+0x31/0x66
  [   11.563696]  [<ffffffff810c337f>] ? kmem_cache_free+0xcd/0x25b
  [   11.563964]  [<ffffffff810c337f>] kmem_cache_free+0xcd/0x25b
  [   11.564235]  [<ffffffff8109bf8c>] ? __free_pages+0x1b/0x24
  [   11.564551]  [<ffffffff810c3564>] slab_destroy+0x57/0x5c
  [   11.564860]  [<ffffffff810c3641>] free_block+0xd8/0x123
  [   11.565126]  [<ffffffff810c372e>] __drain_alien_cache+0xa2/0xbd
  [   11.565441]  [<ffffffff810c3ce5>] kfree+0x14c/0x292
  [   11.565752]  [<ffffffff8144a007>] skb_release_data+0xc6/0xcb
  [   11.566020]  [<ffffffff81449cf0>] __kfree_skb+0x19/0x86
  [   11.566286]  [<ffffffff81449d88>] consume_skb+0x2b/0x2d
  [   11.566631]  [<ffffffff8144cbe0>] skb_free_datagram+0x14/0x3a
  [   11.566901]  [<ffffffff81462eef>] netlink_recvmsg+0x164/0x258
  [   11.567170]  [<ffffffff81443461>] sock_recvmsg+0xe5/0xfe
  [   11.567486]  [<ffffffff810ab063>] ? might_fault+0xaf/0xb1
  [   11.567802]  [<ffffffff81053a78>] ? autoremove_wake_function+0x0/0x38
  [   11.568073]  [<ffffffff810d84ca>] ? core_sys_select+0x3d/0x2b4
  [   11.568378]  [<ffffffff81065f60>] ? __lock_acquire+0x1676/0x168f
  [   11.568693]  [<ffffffff81442dc1>] ? sockfd_lookup_light+0x1b/0x54
  [   11.568961]  [<ffffffff81444416>] sys_recvfrom+0xa3/0xf8
  [   11.569228]  [<ffffffff81063c8a>] ? trace_hardirqs_on+0xd/0xf
  [   11.569546]  [<ffffffff8100af2b>] system_call_fastpath+0x16/0x1b#

Fix that up.

Closes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13654
Tested-by: Venkatesh Pallipadi <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
2009-06-29 09:57:10 +03:00
Pekka Enberg ba52270d18 SLUB: Don't pass __GFP_FAIL for the initial allocation
SLUB uses higher order allocations by default but falls back to small
orders under memory pressure. Make sure the GFP mask used in the initial
allocation doesn't include __GFP_NOFAIL.

Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-06-24 12:20:14 -07:00
Pekka Enberg cede2cb6ee eeepc-laptop: enable camera by default
If we leave the camera disabled by default, userspace programs (e.g.
Skype, Cheese) leave the user out in the cold saying that the machine
"has no camera." Therefore, it's better to enable camera by default and
let people who really don't want it just disable the thing.

To reduce power usage you should enable USB autosuspend:
echo -n auto > /sys/bus/usb/drivers/uvcvideo/*:*/../power/level

Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Len Brown <[email protected]>
2009-06-24 01:30:34 -04:00
Pekka J Enberg 854c879f5a x86: Move init_gbpages() to setup_arch()
The init_gbpages() function is conditionally called from
init_memory_mapping() function. There are two call-sites where
this 'after_bootmem' condition can be true: setup_arch() and
mem_init() via pci_iommu_alloc().

Therefore, it's safe to move the call to init_gbpages() to
setup_arch() as it's always called before mem_init().

This removes an after_bootmem use - paving the way to remove
all uses of that state variable.

Signed-off-by: Pekka Enberg <[email protected]>
Acked-by: Yinghai Lu <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-06-23 10:33:32 +02:00
Pekka Enberg 66d51f3e81 [S390] s390: remove DEBUG_MALLOC
The kernel now has kmemleak and kmemtrace so there's no reason to keep
this ugly s390 hack around. I am not sure how it's supposed to work on
SMP anyway as it uses a global variable to temporarily store the return
value of all kmalloc() calls:

  void *b;

  #define kmalloc(x...) (PRINT_INFO(" kmalloc %p\n",b=kmalloc(x)),b)

Cc: <[email protected]>
Cc: Heiko Carstens <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
2009-06-22 12:08:18 +02:00
Pekka Enberg dd68e1b4ff Staging: w35und: merge rest of wbhal.c to phy_calibration.c
Impact: cleanup

The remaining functions are local to phy_calibration.c so move them
there and remove wbhal.c.

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:38 -07:00
Pekka Enberg 40abfccbc7 Staging: w35und: inline hal_set_rf_power() to mto.c
Impact: cleanup

It's a trivial wrapper that is used in only one place, so lets inline it.

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:38 -07:00
Pekka Enberg 22a82bcd5b Staging: w35und: merge wbhal.c to wbusb.c
Impact: cleanup

This patch moves all the functions in wbhal.c that are used only in
wbusb.c to the latter file.

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:38 -07:00
Pekka Enberg c6e523c0cb Staging: w35und: reformat wbhal.c
Impact: cleanup

In preparation for merging wbhal.c with wbusb.c, use Lindet to reformat
the file.

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:38 -07:00
Pekka Enberg 833d0cd39e Staging: w35und: make led lookup tables static
Impact: cleanup

No need to keep read-only data on the stack.

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:38 -07:00
Pekka Enberg 7c49a0ac12 Staging: w35und: remove MODULE_AUTHOR
Impact: cleanup

The contact details in MODULE_AUTHOR do not reflect current state of
affairs so remove it.

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:38 -07:00
Pekka Enberg a32b9810d9 Staging: w35und: reformat wbusb.c
Impact: cleanup

Use scripts/Lindent on the file and clean up the rest by hand.

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:38 -07:00
Pekka Enberg 9ca748ce51 Staging: w35und: inline hal_set_phy_type() to wb35_hw_init()
Impact: cleanup

The hal_set_phy_type() is called in wb35_hw_init() only so inline the
function there. Also remove a redundant assignment of ->phy_type to
RF_WB_242_1.

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:37 -07:00
Pekka Enberg bdbb883956 Staging: w35und: clean up comments in wbusb.c
Impact: cleanup

Remove some useless comments and clean up others.

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:37 -07:00
Pekka Enberg f592a859b2 Staging: w35und: simplify hal_init_hardware() and hal_halt()
Impact: cleanup

Now that hal_halt() is called from wb35_hw_halt() only where
->InitialResource is always set to 4, we can simplify
hal_init_hardware() and hal_halt().

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:37 -07:00
Pekka Enberg a39ee67174 Staging: w35und: more simplify hal_init_hardware() error handling
Impact: fix, cleanup

If initialization in hal_init_hardware() fails, we call hal_halt() to
clean up and release resource. However, hal_halt() will attempt to
call del_timer_sync() on ->LEDTimer on "stage 3" although it's not
initialized at that point. Fix that up by simplifying error handling
logic in hal_init_hardware() with gotos.

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:37 -07:00
Pekka Enberg 00e2e05dd0 Staging: w35und: simplify hal_init_hardware() error handling
Impact: cleanup

Use gotos to simplify the deep if-statement nesting in
hal_init_hardware().

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:37 -07:00
Pekka Enberg cfe31f81e1 Staging: w35und: simplify error handling in wb35_hw_init()
Impact: cleanup

Change hal_init_hardware() to return an error code rather than a boolean
to simplify error handling in wb35_hw_init().

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:37 -07:00
Pekka Enberg 80767e6e1e Staging: w35und: move hal_init_hardware() and hal_halt() int wbusb.c
Impact: cleanup

The hal_init_hardware() and hal_halt() functions are only used in
wbusb.c so move them there.

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:37 -07:00
Pekka Enberg 2659851122 Staging: w35und: replace switch error handling with gotos in wb35_hw_init()
Impact: cleanup

This patch replaces the switch-based error handling in wb35_hw_init()
with regular gotos.

Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:37 -07:00
Pekka Enberg 6ab3212720 Staging: w35und: remove unused code from wbsoft_configure_filter()
We don't initialize hardware multicast filter in the driver nor do we know how
to do that. Therefore, remove some code that isn't actually used from
wbsoft_configure_filter().

Cc: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-06-19 11:00:37 -07:00
Pekka Enberg 5caf5c7dc2 Merge branch 'slub/earlyboot' into for-linus
Conflicts:
	mm/slub.c
2009-06-17 08:30:54 +03:00
Pekka Enberg e03ab9d415 Merge branches 'slab/documentation', 'slab/fixes', 'slob/cleanups' and 'slub/fixes' into for-linus 2009-06-17 08:30:15 +03:00
Pekka Enberg 0a4af3b093 kmemcheck: make kconfig accessible for other architectures
The Kconfig options of kmemcheck are hidden under arch/x86 which makes porting
to other architectures harder. To fix that, move the Kconfig bits to
lib/Kconfig.kmemcheck and introduce a CONFIG_HAVE_ARCH_KMEMCHECK config option
that architectures can define.

Signed-off-by: Pekka Enberg <[email protected]>

[rebased for mainline inclusion]
Signed-off-by: Vegard Nossum <[email protected]>
2009-06-15 15:49:17 +02:00
Pekka Enberg c175eea466 slab: add hooks for kmemcheck
We now have SLAB support for kmemcheck! This means that it doesn't matter
whether one chooses SLAB or SLUB, or indeed whether Linus chooses to chuck
SLAB or SLUB.. ;-)

Cc: Ingo Molnar <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Andrew Morton <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>

[rebased for mainline inclusion]
Signed-off-by: Vegard Nossum <[email protected]>
2009-06-15 12:40:08 +02:00
Pekka Enberg f8b4ece2a9 kmemcheck: use kmemcheck_pte_lookup() instead of open-coding it
Lets use kmemcheck_pte_lookup() in kmemcheck_fault() instead of
open-coding it there.

Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Vegard Nossum <[email protected]>
2009-06-15 12:40:00 +02:00
Pekka Enberg 6d9609c132 kmemcheck: move 64-bit ifdef out of kmemcheck_opcode_decode()
This patch moves the CONFIG_X86_64 ifdef out of kmemcheck_opcode_decode() by
introducing a version of the function that always returns false for
CONFIG_X86_32.

Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Vegard Nossum <[email protected]>
2009-06-15 12:39:59 +02:00
Pekka Enberg 0c33cacd86 kmemcheck: remove multiple ifdef'd definitions of the same global variable
Multiple ifdef'd definitions of the same global variable is ugly and
error-prone. Fix that up.

Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Vegard Nossum <[email protected]>
2009-06-15 12:39:57 +02:00
Pekka Enberg 5b53b76a61 kmemcheck: make initialization message less confusing
The "Bugs, beware!" printout during is cute but confuses users that something
bad happened so change the text to the more boring "Initialized" message.

Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Vegard Nossum <[email protected]>
2009-06-15 12:39:56 +02:00
Pekka Enberg 6a19638719 kmemcheck: remove forward declarations from error.c
This patch reorders code in error.c so that we can get rid of the forward
declarations.

Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Vegard Nossum <[email protected]>
2009-06-15 12:39:47 +02:00
Pekka Enberg 95f8598931 SLUB: Don't print out OOM warning for __GFP_NOFAIL
We must check for __GFP_NOFAIL like the page allocator does; otherwise we end
up with false positives. While at it, add the printk_ratelimit() check in SLUB
as well.

Cc: Alexander Beregalov <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
2009-06-13 23:37:38 +03:00
Pekka Enberg 456db8cc45 kmemcheck: add Vegard and Pekka to MAINTAINERS
Acked-by: Vegard Nossum <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-06-13 10:02:43 +02:00
Pekka Enberg 8eae985f08 slab: move struct kmem_cache to headers
Move the SLAB struct kmem_cache definition to <linux/slab_def.h> like
with SLUB so kmemcheck can access ->ctor and ->flags.

Cc: Ingo Molnar <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Andrew Morton <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>

[rebased for mainline inclusion]
Signed-off-by: Vegard Nossum <[email protected]>
2009-06-13 08:58:43 +02:00
Pekka Enberg 8429db5c63 slab: setup cpu caches later on when interrupts are enabled
Fixes the following boot-time warning:

  [    0.000000] ------------[ cut here ]------------
  [    0.000000] WARNING: at kernel/smp.c:369 smp_call_function_many+0x56/0x1bc()
  [    0.000000] Hardware name:
  [    0.000000] Modules linked in:
  [    0.000000] Pid: 0, comm: swapper Not tainted 2.6.30 #492
  [    0.000000] Call Trace:
  [    0.000000]  [<ffffffff8149e021>] ? _spin_unlock+0x4f/0x5c
  [    0.000000]  [<ffffffff8108f11b>] ? smp_call_function_many+0x56/0x1bc
  [    0.000000]  [<ffffffff81061764>] warn_slowpath_common+0x7c/0xa9
  [    0.000000]  [<ffffffff810617a5>] warn_slowpath_null+0x14/0x16
  [    0.000000]  [<ffffffff8108f11b>] smp_call_function_many+0x56/0x1bc
  [    0.000000]  [<ffffffff810f3e00>] ? do_ccupdate_local+0x0/0x54
  [    0.000000]  [<ffffffff810f3e00>] ? do_ccupdate_local+0x0/0x54
  [    0.000000]  [<ffffffff8108f2be>] smp_call_function+0x3d/0x68
  [    0.000000]  [<ffffffff810f3e00>] ? do_ccupdate_local+0x0/0x54
  [    0.000000]  [<ffffffff81066fd8>] on_each_cpu+0x31/0x7c
  [    0.000000]  [<ffffffff810f64f5>] do_tune_cpucache+0x119/0x454
  [    0.000000]  [<ffffffff81087080>] ? lockdep_init_map+0x94/0x10b
  [    0.000000]  [<ffffffff818133b0>] ? kmem_cache_init+0x421/0x593
  [    0.000000]  [<ffffffff810f69cf>] enable_cpucache+0x68/0xad
  [    0.000000]  [<ffffffff818133c3>] kmem_cache_init+0x434/0x593
  [    0.000000]  [<ffffffff8180987c>] ? mem_init+0x156/0x161
  [    0.000000]  [<ffffffff817f8aae>] start_kernel+0x1cc/0x3b9
  [    0.000000]  [<ffffffff817f829a>] x86_64_start_reservations+0xaa/0xae
  [    0.000000]  [<ffffffff817f837f>] x86_64_start_kernel+0xe1/0xe8
  [    0.000000] ---[ end trace 4eaa2a86a8e2da22 ]---

Cc: Christoph Lameter <[email protected]>
Cc: Nick Piggin <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
2009-06-12 18:53:58 +03:00
Pekka Enberg 7e85ee0c1d slab,slub: don't enable interrupts during early boot
As explained by Benjamin Herrenschmidt:

  Oh and btw, your patch alone doesn't fix powerpc, because it's missing
  a whole bunch of GFP_KERNEL's in the arch code... You would have to
  grep the entire kernel for things that check slab_is_available() and
  even then you'll be missing some.

  For example, slab_is_available() didn't always exist, and so in the
  early days on powerpc, we used a mem_init_done global that is set form
  mem_init() (not perfect but works in practice). And we still have code
  using that to do the test.

Therefore, mask out __GFP_WAIT, __GFP_IO, and __GFP_FS in the slab allocators
in early boot code to avoid enabling interrupts.

Signed-off-by: Pekka Enberg <[email protected]>
2009-06-12 18:53:33 +03:00
Pekka Enberg eb91f1d0a5 slab: fix gfp flag in setup_cpu_cache()
Fixes the following warning during bootup when compiling with CONFIG_SLAB:

  [    0.000000] ------------[ cut here ]------------
  [    0.000000] WARNING: at kernel/lockdep.c:2282 lockdep_trace_alloc+0x91/0xb9()
  [    0.000000] Hardware name:
  [    0.000000] Modules linked in:
  [    0.000000] Pid: 0, comm: swapper Not tainted 2.6.30 #491
  [    0.000000] Call Trace:
  [    0.000000]  [<ffffffff81087d84>] ? lockdep_trace_alloc+0x91/0xb9
  [    0.000000]  [<ffffffff81061764>] warn_slowpath_common+0x7c/0xa9
  [    0.000000]  [<ffffffff810617a5>] warn_slowpath_null+0x14/0x16
  [    0.000000]  [<ffffffff81087d84>] lockdep_trace_alloc+0x91/0xb9
  [    0.000000]  [<ffffffff810f5b03>] kmem_cache_alloc_node_notrace+0x26/0xdf
  [    0.000000]  [<ffffffff81487f4e>] ? setup_cpu_cache+0x7e/0x210
  [    0.000000]  [<ffffffff81487fe3>] setup_cpu_cache+0x113/0x210
  [    0.000000]  [<ffffffff810f73ff>] kmem_cache_create+0x409/0x486
  [    0.000000]  [<ffffffff818131c1>] kmem_cache_init+0x232/0x593
  [    0.000000]  [<ffffffff8180987c>] ? mem_init+0x156/0x161
  [    0.000000]  [<ffffffff817f8aae>] start_kernel+0x1cc/0x3b9
  [    0.000000]  [<ffffffff817f829a>] x86_64_start_reservations+0xaa/0xae
  [    0.000000]  [<ffffffff817f837f>] x86_64_start_kernel+0xe1/0xe8
  [    0.000000] ---[ end trace 4eaa2a86a8e2da22 ]---

Signed-off-by: Pekka Enberg <[email protected]>
2009-06-12 18:34:32 +03:00
Pekka Enberg b8ec757390 vgacon: use slab allocator instead of the bootmem allocator
Slab is initialized before the console subsystem so use the slab allocator in
vgacon_scrollback_startup().

Signed-off-by: Pekka Enberg <[email protected]>
2009-06-11 19:33:34 +03:00
Pekka Enberg 22fb4e71e6 irq: use kcalloc() instead of the bootmem allocator
Fixes the following problem:

[    0.000000] Experimental hierarchical RCU init done.
[    0.000000] NR_IRQS:4352 nr_irqs:256
[    0.000000] ------------[ cut here ]------------
[    0.000000] WARNING: at mm/bootmem.c:537 alloc_arch_preferred_bootmem+0x40/0x7e()
[    0.000000] Hardware name: To Be Filled By O.E.M.
[    0.000000] Pid: 0, comm: swapper Not tainted 2.6.30-tip-02161-g7a74539-dirty #59709
[    0.000000] Call Trace:
[    0.000000]  [<ffffffff823f8c8e>] ? alloc_arch_preferred_bootmem+0x40/0x7e
[    0.000000]  [<ffffffff81067168>] warn_slowpath_common+0x88/0xcb
[    0.000000]  [<ffffffff810671d2>] warn_slowpath_null+0x27/0x3d
[    0.000000]  [<ffffffff823f8c8e>] alloc_arch_preferred_bootmem+0x40/0x7e
[    0.000000]  [<ffffffff823f9307>] ___alloc_bootmem_nopanic+0x4e/0xec
[    0.000000]  [<ffffffff823f93c5>] ___alloc_bootmem+0x20/0x61
[    0.000000]  [<ffffffff823f962e>] __alloc_bootmem+0x1e/0x34
[    0.000000]  [<ffffffff823f757c>] early_irq_init+0x6d/0x118
[    0.000000]  [<ffffffff823e0140>] ? early_idt_handler+0x0/0x71
[    0.000000]  [<ffffffff823e0cf7>] start_kernel+0x192/0x394
[    0.000000]  [<ffffffff823e0140>] ? early_idt_handler+0x0/0x71
[    0.000000]  [<ffffffff823e02ad>] x86_64_start_reservations+0xb4/0xcf
[    0.000000]  [<ffffffff823e0000>] ? __init_begin+0x0/0x140
[    0.000000]  [<ffffffff823e0420>] x86_64_start_kernel+0x158/0x17b
[    0.000000] ---[ end trace a7919e7f17c0a725 ]---
[    0.000000] Fast TSC calibration using PIT
[    0.000000] Detected 2002.510 MHz processor.
[    0.004000] Console: colour VGA+ 80x25

Reported-by: Ingo Molnar <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
2009-06-11 19:27:13 +03:00
Pekka Enberg 0fb5302916 sched: use slab in cpupri_init()
Lets not use the bootmem allocator in cpupri_init() as slab is already up when
it is run.

Cc: Ingo Molnar <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Yinghai Lu <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
2009-06-11 19:27:12 +03:00
Pekka Enberg 4bdddf8ff9 sched: use alloc_cpumask_var() instead of alloc_bootmem_cpumask_var()
Slab is initialized when sched_init() runs now so lets use alloc_cpumask_var().

Cc: Ingo Molnar <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Yinghai Lu <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
2009-06-11 19:27:11 +03:00
Pekka Enberg a5f4f52e82 vt: use kzalloc() instead of the bootmem allocator
Now that kmem_cache_init() happens before console_init(), we should use
kzalloc() and not the bootmem allocator.

Signed-off-by: Pekka Enberg <[email protected]>
2009-06-11 19:27:06 +03:00
Pekka Enberg 36b7b6d465 sched: use kzalloc() instead of the bootmem allocator
Now that kmem_cache_init() happens before sched_init(), we should use kzalloc()
and not the bootmem allocator.

Signed-off-by: Pekka Enberg <[email protected]>
2009-06-11 19:27:04 +03:00
Pekka Enberg 444f478f65 init: introduce mm_init()
As suggested by Christoph Lameter, introduce mm_init() now that we initialize
all the kernel memory allocations together.

Cc: Christoph Lameter <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
2009-06-11 19:27:03 +03:00
Pekka Enberg 43ebdac42f vmalloc: use kzalloc() instead of alloc_bootmem()
We can call vmalloc_init() after kmem_cache_init() and use kzalloc() instead of
the bootmem allocator when initializing vmalloc data structures.

Acked-by: Johannes Weiner <[email protected]>
Acked-by: Linus Torvalds <[email protected]>
Acked-by: Nick Piggin <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Yinghai Lu <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
2009-06-11 19:17:05 +03:00
Pekka Enberg 83b519e8b9 slab: setup allocators earlier in the boot sequence
This patch makes kmalloc() available earlier in the boot sequence so we can get
rid of some bootmem allocations. The bulk of the changes are due to
kmem_cache_init() being called with interrupts disabled which requires some
changes to allocator boostrap code.

Note: 32-bit x86 does WP protect test in mem_init() so we must setup traps
before we call mem_init() during boot as reported by Ingo Molnar:

  We have a hard crash in the WP-protect code:

  [    0.000000] Checking if this processor honours the WP bit even in supervisor mode...BUG: Int 14: CR2 ffcff000
  [    0.000000]      EDI 00000188  ESI 00000ac7  EBP c17eaf9c  ESP c17eaf8c
  [    0.000000]      EBX 000014e0  EDX 0000000e  ECX 01856067  EAX 00000001
  [    0.000000]      err 00000003  EIP c10135b1   CS 00000060  flg 00010002
  [    0.000000] Stack: c17eafa8 c17fd410 c16747bc c17eafc4 c17fd7e5 000011fd f8616000 c18237cc
  [    0.000000]        00099800 c17bb000 c17eafec c17f1668 000001c5 c17f1322 c166e039 c1822bf0
  [    0.000000]        c166e033 c153a014 c18237cc 00020800 c17eaff8 c17f106a 00020800 01ba5003
  [    0.000000] Pid: 0, comm: swapper Not tainted 2.6.30-tip-02161-g7a74539-dirty #52203
  [    0.000000] Call Trace:
  [    0.000000]  [<c15357c2>] ? printk+0x14/0x16
  [    0.000000]  [<c10135b1>] ? do_test_wp_bit+0x19/0x23
  [    0.000000]  [<c17fd410>] ? test_wp_bit+0x26/0x64
  [    0.000000]  [<c17fd7e5>] ? mem_init+0x1ba/0x1d8
  [    0.000000]  [<c17f1668>] ? start_kernel+0x164/0x2f7
  [    0.000000]  [<c17f1322>] ? unknown_bootoption+0x0/0x19c
  [    0.000000]  [<c17f106a>] ? __init_begin+0x6a/0x6f

Acked-by: Johannes Weiner <[email protected]>
Acked-by Linus Torvalds <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Matt Mackall <[email protected]>
Cc: Nick Piggin <[email protected]>
Cc: Yinghai Lu <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
2009-06-11 19:15:56 +03:00
Pekka Enberg c91c4773b3 bootmem: fix slab fallback on numa
If the user requested bootmem allocation on a specific node, we should use
kzalloc_node() for the fallback allocation.

Cc: Ingo Molnar <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Yinghai Lu <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
2009-06-11 19:15:54 +03:00
Pekka Enberg 441c7e0a2e bootmem: use slab if bootmem is no longer available
As a preparation for initializing the slab allocator early, make sure the
bootmem allocator does not crash and burn if someone calls it after slab is up;
otherwise we'd need a flag day for switching to early slab.

Acked-by: Johannes Weiner <[email protected]>
Acked-by: Linus Torvalds <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Matt Mackall <[email protected]>
Cc: Nick Piggin <[email protected]>
Cc: Yinghai Lu <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
2009-06-11 19:10:41 +03:00
Pekka Enberg 781b2ba6eb SLUB: Out-of-memory diagnostics
As suggested by Mel Gorman, add out-of-memory diagnostics to the SLUB allocator
to make debugging OOM conditions easier. This patch helped hunt down a nasty
OOM issue that popped up every now that was caused by SLUB debugging code which
forced 4096 byte allocations to use order 1 pages even in the fallback case.

An example print out looks like this:

  <snip page allocator out-of-memory message>
  SLUB: Unable to allocate memory on node -1 (gfp=20)
    cache: kmalloc-4096, object size: 4096, buffer size: 4168, default order: 3, min order: 1
    node 0: slabs: 95, objs: 665, free: 0

Acked-by: Christoph Lameter <[email protected]>
Acked-by: Mel Gorman <[email protected]>
Tested-by: Larry Finger <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
2009-06-11 18:14:18 +03:00
Pekka Enberg 80d496be89 perf report: Add support for profiling JIT generated code
This patch adds support for profiling JIT generated code to 'perf
report'. A JIT compiler is required to generate a "/tmp/perf-$PID.map"
symbols map that is parsed when looking and displaying symbols.

Thanks to Peter Zijlstra for his help with this patch!

Example "perf report" output with the Jato JIT:

 #
 # (40311 samples)
 #
 # Overhead           Command  Shared Object              Symbol
 # ........  ................  .........................  ......
 #
     97.80%              jato  /tmp/perf-11915.map        [.] Fibonacci.fib(I)I
      0.56%              jato  00000000b7fa023b           0x000000b7fa023b
      0.45%              jato  /tmp/perf-11915.map        [.] Fibonacci.main([Ljava/lang/String;)V
      0.38%              jato  [kernel]                   [k] get_page_from_freelist
      0.06%              jato  [kernel]                   [k] kunmap_atomic
      0.05%              jato  ./jato                     [.] utf8Hash
      0.04%              jato  ./jato                     [.] executeJava
      0.04%              jato  ./jato                     [.] defineClass

Cc: Peter Zijlstra <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-06-08 23:10:44 +02:00
Pekka Enberg a234bdc9ae slab: document kzfree() zeroing behavior
As suggested by Alan Cox, document the fact that kzfree() can zero out a great
deal more memory than the what the user requested from kmalloc().

Cc: Alan Cox <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
2009-06-01 09:22:46 +03:00
Pekka Enberg 29fcefba8a kmemtrace: fix kernel parameter documentation
The kmemtrace.enable kernel parameter no longer works. To enable
kmemtrace at boot-time, you must pass "ftrace=kmemtrace" instead.

[ Impact: remove obsolete kernel parameter documentation ]

Cc: Eduard - Gabriel Munteanu <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
LKML-Reference: <alpine.DEB.2.00.0905241112190.10296@rocky>
Signed-off-by: Frederic Weisbecker <[email protected]>
2009-05-26 03:03:21 +02:00
Pekka Enberg 087fa4e964 x86: use sparse_memory_present_with_active_regions() on UMA
There's no need to use call memory_present() manually on UMA because
initmem_init() sets up early_node_map by calling
e820_register_active_regions().

[ Impact: cleanup ]

Signed-off-by: Pekka Enberg <[email protected]>
LKML-Reference: <1241699742.17846.31.camel@penberg-laptop>
Signed-off-by: Ingo Molnar <[email protected]>
2009-05-11 11:52:06 +02:00
Pekka Enberg 3551f88f64 x86: unify 64-bit UMA and NUMA paging_init()
64-bit UMA and NUMA versions of paging_init() are almost identical.
Therefore, merge the copy in mm/numa_64.c to mm/init_64.c to remove
duplicate code.

[ Impact: cleanup ]

Signed-off-by: Pekka Enberg <[email protected]>
LKML-Reference: <1241699741.17846.30.camel@penberg-laptop>
Signed-off-by: Ingo Molnar <[email protected]>
2009-05-11 11:52:06 +02:00
Pekka Enberg 82fbb01cf3 Staging: w35und: unregister device from the ieee80211 stack upon ->disconnect()
Impact: fix module removal

This patch fixes an oops when the w35und module is removed from the
kernel and added back.

Reported-by: luoyi <[email protected]>
Tested-by: Sandro Bonazzola <[email protected]>
Cc: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-05-08 19:39:27 -07:00
Pekka Enberg 42ddc4cbba Merge branches 'topic/documentation', 'topic/slub/fixes' and 'topic/urgent' into for-linus 2009-05-06 10:27:43 +03:00
Pekka Enberg 9518e0e435 x86: move per-cpu mmu_gathers to mm/init.c
[ Impact: cleanup ]

Signed-off-by: Pekka Enberg <[email protected]>
LKML-Reference: <1240923650.1982.22.camel@penberg-laptop>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-30 10:12:37 +02:00
Pekka Enberg 2b72394e40 x86: move max_pfn_mapped and max_low_pfn_mapped to setup.c
This patch moves the max_pfn_mapped and max_low_pfn_mapped global
variables to kernel/setup.c where they're initialized.

[ Impact: cleanup ]

Signed-off-by: Pekka Enberg <[email protected]>
LKML-Reference: <1240923649.1982.21.camel@penberg-laptop>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-30 10:12:36 +02:00
Pekka Enberg 89388913f2 x86: unify noexec handling
This patch unifies noexec handling on 32-bit and 64-bit.

[ Impact: cleanup ]

Signed-off-by: Pekka Enberg <[email protected]>
[ [email protected]: build fix ]
LKML-Reference: <1240303167.771.69.camel@penberg-laptop>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-21 10:48:08 +02:00
Pekka Enberg abdb5a5713 x86: remove some ifdefs from native_init_IRQ()
Impact: cleanup

Reviewed-by Cyrill Gorcunov <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-10 14:35:59 +02:00
Pekka Enberg ac3048dfd4 x86: define IA32_SYSCALL_VECTOR on 32-bit to reduce ifdefs
Impact: cleanup

We can remove some #ifdefs if we define IA32_SYSCALL_VECTOR on 32-bit.

Reviewed-by Cyrill Gorcunov <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-10 14:35:58 +02:00
Pekka Enberg 31cb45ef26 x86: unify irqinit_{32,64}.c into irqinit.c
Impact: cleanup

Reviewed-by Cyrill Gorcunov <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-10 14:35:58 +02:00
Pekka Enberg ab19c25abd x86: unify apic_intr_init() in irqinit_{32,64}.c
Impact: cleanup

Reviewed-by Cyrill Gorcunov <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-10 14:35:57 +02:00
Pekka Enberg 778838600e x86: unify trivial differences in irqinit_{32,64}.c
Impact: cleanup

Reviewed-by Cyrill Gorcunov <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-10 14:35:57 +02:00
Pekka Enberg 320fd99672 x86: unify native_init_IRQ() in irqinit_{32,64}.c
Impact: cleanup

Reviewed-by Cyrill Gorcunov <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-10 14:35:56 +02:00
Pekka Enberg 598c73d250 x86: unify init_ISA_irqs() in irqinit_{32,64}.c
Impact: cleanup

Reviewed-by Cyrill Gorcunov <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-10 14:35:55 +02:00
Pekka Enberg b0096bb0b6 x86: unify smp_intr_init() in irqinit_{32,64}.h
Impact: cleanup

Reviewed-by Cyrill Gorcunov <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-10 14:35:55 +02:00
Pekka Enberg d3496c85ca x86: use identical loop constructs in 32-bit and 64-bit native_init_IRQ()
Impact: cleanup

Reviewed-by Cyrill Gorcunov <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-10 14:35:54 +02:00
Pekka Enberg 22813c4522 x86: introduce apic_intr_init() in irqinit_32.c
Impact: cleanup

Reviewed-by Cyrill Gorcunov <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-10 14:35:54 +02:00
Pekka Enberg 36290d87f5 x86: introduce smp_intr_init() in irqinit_32.c
Impact: cleanup

Reviewed-by Cyrill Gorcunov <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-10 14:35:54 +02:00
Pekka Enberg 7371d9fcb8 x86: move init_ISA_irqs() in irqinit_32.c to match ordering in irqinit_64.c
Impact: cleanup

Reviewed-by Cyrill Gorcunov <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-10 14:35:53 +02:00
Pekka Enberg f465145235 x86: move x86_quirk_pre_intr_init() to irqinit_32.c
Impact: cleanup

In preparation for unifying irqinit_{32,64}.c, make
x86_quirk_pre_intr_init() local to irqinit_32.c.

Reviewed-by Cyrill Gorcunov <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-10 14:35:53 +02:00
Pekka Enberg 8acfbf0939 nilfs2: clean up indirect function calling conventions
This cleans up the strange indirect function calling convention used in
nilfs to follow the normal kernel coding style.

Signed-off-by: Pekka Enberg <[email protected]>
Acked-by: Ryusuke Konishi <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-04-07 08:31:17 -07:00
Pekka Enberg 7f20a18d18 Staging: rt2860: remove kernel version compatibility wrappers
The driver is in mainline now so there's no point in keeping the
kernel version compatibility wrappers around.

Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-04-03 14:53:30 -07:00
Pekka Enberg 4bb5a7ec76 Staging: w35und: remove gl_80211.h header
The gl_80211.h header file contains only two definitions that are actually
used. Move them to mds_s.h and remove the otherwise unused file.

Signed-off-by: Pekka Enberg <[email protected]>
Cc: Pavel Machek <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-04-03 14:53:16 -07:00
Pekka Enberg 3b055748d8 Staging: w35und: remove ds_tkip.h header
The ds_tkip.h header file contains declarations of a function that is not
actually defined anywhere.

Signed-off-by: Pekka Enberg <[email protected]>
Acked-by: Pavel Machek <[email protected]>
2009-04-03 14:53:16 -07:00
Pekka Enberg d2443c53ee Staging: w35und: remove unused bssdscpt.h header
The bssdscpt.h header file contains definitions that are not actually used for
anything.

Signed-off-by: Pekka Enberg <[email protected]>
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-04-03 14:53:16 -07:00
Pekka Enberg 57a944435f Staging: w35und: Remove MTO_FUNC_INPUT macro obfuscation
Signed-off-by: Pekka Enberg <[email protected]>
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-04-03 14:53:16 -07:00
Pekka Enberg 8e41b4b65d Staging: w35und: remove hw_data_t typedef
As this typedef is used everywhere in the driver, remove it in a separate
patch.

Signed-off-by: Pekka Enberg <[email protected]>
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-04-03 14:53:16 -07:00
Pekka Enberg eb62f3eaf7 Staging: w35und: typedef removal
This patch removes some typedefs from the driver code. I also removed some
unused structs I spotted while removing the typedefs.

Signed-off-by: Pekka Enberg <[email protected]>
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-04-03 14:53:16 -07:00
Pekka Enberg 0c59dbaadf Staging: w35und: kill WBDEBUG and remove common.h header file
The only remaining thing in common.h header file is the WBDEBUG() macro which
is unconditionally defined as printk(). Kill the macro and remove the header
file.

Signed-off-by: Pekka Enberg <[email protected]>
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-04-03 14:53:16 -07:00
Pekka Enberg 132e755aed Staging: w35und: remove useless macro from common.h
The DebugUsbdStatusInformation macro doesn't do anything useful so remove the
definition and the two users of it from driver code.

Signed-off-by: Pekka Enberg <[email protected]>
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-04-03 14:53:16 -07:00
Pekka Enberg bd37b7fddf Staging: w35und: convert code to use ETH_ALEN
As suggested by Harvey Harrison, convert driver to use ETH_ALEN and kill a
private macro from common.h that is used for the same thing.

Acked-by: Harvey Harrison <[email protected]>
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-04-03 14:53:15 -07:00
Pekka Enberg 64328c8711 Staging: w35und: unify mto.h and mto_f.h header files
No need to keep function definitions separate from the rest so unify mto.h and
mto_f.h header files.

Signed-off-by: Pekka Enberg <[email protected]>
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-04-03 14:53:15 -07:00
Pekka Enberg 91da3d337a Staging: w35und: remove crazy commented out includes
I have no idea why the driver would want to include OpenGL headers in the first
place but lets just remove the crazy includes.

Signed-off-by: Pekka Enberg <[email protected]>
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-04-03 14:53:15 -07:00
Pekka Enberg 7e797abfb8 Staging: w35und: remove unnecessary os_common.h header file
Convert code to include sysdef.h directly and remove unnecessary os_common.h
header file.

Signed-off-by: Pekka Enberg <[email protected]>
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-04-03 14:53:15 -07:00
Pekka Enberg b93abb660a Staging: w35und: remove unused header files
The header files are not included anywhere so we can just remove them.

Signed-off-by: Pekka Enberg <[email protected]>
Acked-by: Pavel Machek <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-04-03 14:53:15 -07:00
Pekka Enberg 2121db74ba kmemtrace: trace kfree() calls with NULL or zero-length objects
Impact: also output kfree(NULL) entries

This patch moves the trace_kfree() calls before the ZERO_OR_NULL_PTR
check so that we can trace call-sites that call kfree() with NULL many
times which might be an indication of a bug.

Signed-off-by: Pekka Enberg <[email protected]>
Cc: Eduard - Gabriel Munteanu <[email protected]>
LKML-Reference: <1237971957.30175.18.camel@penberg-laptop>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-03 12:23:10 +02:00
Pekka Enberg 255d11bc91 kmemtrace, mm: fix slab.h dependency problem in mm/failslab.c
Impact: cleanup

mm/failslab.c depends on slab.h without including it:

    CC      mm/failslab.o
  mm/failslab.c: In function ‘should_failslab’:
  mm/failslab.c:16: error: ‘__GFP_NOFAIL’ undeclared (first use in this function)
  mm/failslab.c:16: error: (Each undeclared identifier is reported only once
  mm/failslab.c:16: error: for each function it appears in.)
  mm/failslab.c:19: error: ‘__GFP_WAIT’ undeclared (first use in this function)
  make[1]: *** [mm/failslab.o] Error 1
  make: *** [mm] Error 2

It gets included implicitly currently - but this will not be the
case with upcoming kmemtrace changes.

Signed-off-by: Pekka Enberg <[email protected]>
Cc: Eduard - Gabriel Munteanu <[email protected]>
LKML-Reference: <1237888761.25315.69.camel@penberg-laptop>
Signed-off-by: Ingo Molnar <[email protected]>
2009-04-03 12:23:01 +02:00