Linux v3.4-rc5

- Disable debugging options.
This commit is contained in:
Josh Boyer 2012-04-30 10:35:50 -04:00
parent 1bf07bb632
commit 5794181098
6 changed files with 69 additions and 285 deletions

View File

@ -1464,13 +1464,13 @@ CONFIG_B43_SDIO=y
CONFIG_B43_BCMA=y CONFIG_B43_BCMA=y
# CONFIG_B43_BCMA_EXTRA is not set # CONFIG_B43_BCMA_EXTRA is not set
CONFIG_B43_BCMA_PIO=y CONFIG_B43_BCMA_PIO=y
CONFIG_B43_DEBUG=y # CONFIG_B43_DEBUG is not set
CONFIG_B43_PHY_LP=y CONFIG_B43_PHY_LP=y
CONFIG_B43_PHY_N=y CONFIG_B43_PHY_N=y
CONFIG_B43_PHY_HT=y CONFIG_B43_PHY_HT=y
# CONFIG_B43_FORCE_PIO is not set # CONFIG_B43_FORCE_PIO is not set
CONFIG_B43LEGACY=m CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_DEBUG=y # CONFIG_B43LEGACY_DEBUG is not set
CONFIG_B43LEGACY_DMA=y CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y CONFIG_B43LEGACY_PIO=y
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
@ -3054,7 +3054,7 @@ CONFIG_USB_STORAGE_REALTEK=m
CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_AUTOPM=y
CONFIG_USB_STORAGE_ENE_UB6250=m CONFIG_USB_STORAGE_ENE_UB6250=m
# CONFIG_USB_LIBUSUAL is not set # CONFIG_USB_LIBUSUAL is not set
CONFIG_USB_UAS=m # CONFIG_USB_UAS is not set
# #
@ -3959,7 +3959,7 @@ CONFIG_IBMASR=m
CONFIG_PM_DEBUG=y CONFIG_PM_DEBUG=y
CONFIG_PM_TRACE=y CONFIG_PM_TRACE=y
CONFIG_PM_TRACE_RTC=y CONFIG_PM_TRACE_RTC=y
CONFIG_PM_TEST_SUSPEND=y # CONFIG_PM_TEST_SUSPEND is not set
CONFIG_PM_RUNTIME=y CONFIG_PM_RUNTIME=y
# CONFIG_PM_OPP is not set # CONFIG_PM_OPP is not set

View File

@ -2,109 +2,109 @@ CONFIG_SND_VERBOSE_PRINTK=y
CONFIG_SND_DEBUG=y CONFIG_SND_DEBUG=y
CONFIG_SND_PCM_XRUN_DEBUG=y CONFIG_SND_PCM_XRUN_DEBUG=y
CONFIG_DEBUG_ATOMIC_SLEEP=y # CONFIG_DEBUG_ATOMIC_SLEEP is not set
CONFIG_DEBUG_MUTEXES=y # CONFIG_DEBUG_MUTEXES is not set
CONFIG_DEBUG_RT_MUTEXES=y # CONFIG_DEBUG_RT_MUTEXES is not set
CONFIG_DEBUG_LOCK_ALLOC=y # CONFIG_DEBUG_LOCK_ALLOC is not set
CONFIG_PROVE_LOCKING=y # CONFIG_PROVE_LOCKING is not set
CONFIG_DEBUG_SPINLOCK=y # CONFIG_DEBUG_SPINLOCK is not set
CONFIG_PROVE_RCU=y # CONFIG_PROVE_RCU is not set
# CONFIG_PROVE_RCU_REPEATEDLY is not set # CONFIG_PROVE_RCU_REPEATEDLY is not set
CONFIG_DEBUG_PER_CPU_MAPS=y # CONFIG_DEBUG_PER_CPU_MAPS is not set
CONFIG_CPUMASK_OFFSTACK=y CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPU_NOTIFIER_ERROR_INJECT=m # CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
CONFIG_FAULT_INJECTION=y # CONFIG_FAULT_INJECTION is not set
CONFIG_FAILSLAB=y # CONFIG_FAILSLAB is not set
CONFIG_FAIL_PAGE_ALLOC=y # CONFIG_FAIL_PAGE_ALLOC is not set
CONFIG_FAIL_MAKE_REQUEST=y # CONFIG_FAIL_MAKE_REQUEST is not set
CONFIG_FAULT_INJECTION_DEBUG_FS=y # CONFIG_FAULT_INJECTION_DEBUG_FS is not set
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y # CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
CONFIG_FAIL_IO_TIMEOUT=y # CONFIG_FAIL_IO_TIMEOUT is not set
CONFIG_FAIL_MMC_REQUEST=y # CONFIG_FAIL_MMC_REQUEST is not set
CONFIG_SLUB_DEBUG_ON=y # CONFIG_SLUB_DEBUG_ON is not set
CONFIG_LOCK_STAT=y # CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_STACK_USAGE=y # CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_ACPI_DEBUG=y # CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_DEBUG_FUNC_TRACE is not set # CONFIG_ACPI_DEBUG_FUNC_TRACE is not set
CONFIG_DEBUG_SG=y # CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_PAGEALLOC is not set # CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_DEBUG_WRITECOUNT=y # CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_OBJECTS=y # CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set # CONFIG_DEBUG_OBJECTS_SELFTEST is not set
CONFIG_DEBUG_OBJECTS_FREE=y # CONFIG_DEBUG_OBJECTS_FREE is not set
CONFIG_DEBUG_OBJECTS_TIMERS=y # CONFIG_DEBUG_OBJECTS_TIMERS is not set
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y # CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
CONFIG_X86_PTDUMP=y # CONFIG_X86_PTDUMP is not set
CONFIG_CAN_DEBUG_DEVICES=y # CONFIG_CAN_DEBUG_DEVICES is not set
CONFIG_MODULE_FORCE_UNLOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y # CONFIG_SYSCTL_SYSCALL_CHECK is not set
CONFIG_DEBUG_NOTIFIERS=y # CONFIG_DEBUG_NOTIFIERS is not set
CONFIG_DMA_API_DEBUG=y # CONFIG_DMA_API_DEBUG is not set
CONFIG_MMIOTRACE=y # CONFIG_MMIOTRACE is not set
CONFIG_DEBUG_CREDENTIALS=y # CONFIG_DEBUG_CREDENTIALS is not set
# off in both production debug and nodebug builds, # off in both production debug and nodebug builds,
# on in rawhide nodebug builds # on in rawhide nodebug builds
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
CONFIG_EXT4_DEBUG=y # CONFIG_EXT4_DEBUG is not set
CONFIG_DEBUG_PERF_USE_VMALLOC=y # CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_JBD2_DEBUG=y # CONFIG_JBD2_DEBUG is not set
CONFIG_DEBUG_BLK_CGROUP=y # CONFIG_DEBUG_BLK_CGROUP is not set
CONFIG_DRBD_FAULT_INJECTION=y # CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_ATH_DEBUG=y # CONFIG_ATH_DEBUG is not set
CONFIG_CARL9170_DEBUGFS=y # CONFIG_CARL9170_DEBUGFS is not set
CONFIG_IWLWIFI_DEVICE_TRACING=y # CONFIG_IWLWIFI_DEVICE_TRACING is not set
CONFIG_DEBUG_OBJECTS_WORK=y # CONFIG_DEBUG_OBJECTS_WORK is not set
CONFIG_DMADEVICES_DEBUG=y # CONFIG_DMADEVICES_DEBUG is not set
CONFIG_DMADEVICES_VDEBUG=y # CONFIG_DMADEVICES_VDEBUG is not set
CONFIG_PM_ADVANCED_DEBUG=y CONFIG_PM_ADVANCED_DEBUG=y
CONFIG_CEPH_LIB_PRETTYDEBUG=y # CONFIG_CEPH_LIB_PRETTYDEBUG is not set
CONFIG_QUOTA_DEBUG=y # CONFIG_QUOTA_DEBUG is not set
CONFIG_PCI_DEFAULT_USE_CRS=y CONFIG_PCI_DEFAULT_USE_CRS=y
CONFIG_KGDB_KDB=y CONFIG_KGDB_KDB=y
CONFIG_KDB_KEYBOARD=y CONFIG_KDB_KEYBOARD=y
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y # CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set
CONFIG_TEST_LIST_SORT=y # CONFIG_TEST_LIST_SORT is not set
CONFIG_DETECT_HUNG_TASK=y # CONFIG_DETECT_HUNG_TASK is not set
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KMEMLEAK is not set
CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024 CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024
# CONFIG_DEBUG_KMEMLEAK_TEST is not set # CONFIG_DEBUG_KMEMLEAK_TEST is not set
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y

View File

@ -314,7 +314,7 @@ CONFIG_STRICT_DEVMEM=y
# CONFIG_NO_BOOTMEM is not set # CONFIG_NO_BOOTMEM is not set
# CONFIG_MEMTEST is not set # CONFIG_MEMTEST is not set
CONFIG_MAXSMP=y # CONFIG_MAXSMP is not set
CONFIG_HP_ILO=m CONFIG_HP_ILO=m

View File

@ -1,217 +0,0 @@
From: Bojan Smojver <bojan@rexursive.com>
Date: Sun, 22 Apr 2012 20:32:32 +0000 (+0200)
Subject: PM / Hibernate: fix the number of pages used for hibernate/thaw buffering
X-Git-Tag: next-20120423~31^2
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fnext%2Flinux-next.git;a=commitdiff_plain;h=e9cbc5a6270be7aa9c42d9b15293ba9ac7161262
PM / Hibernate: fix the number of pages used for hibernate/thaw buffering
Hibernation/thaw fixes/improvements:
1. Calculate the number of required free pages based on non-high memory
pages only, because that is where the buffers will come from.
2. Do not allocate memory for buffers from emergency pools, unless
absolutely required. Do not warn about and do not retry non-essential
failed allocations.
3. Do not check the amount of free pages left on every single page
write, but wait until one map is completely populated and then check.
4. Set maximum number of pages for read buffering consistently, instead
of inadvertently depending on the size of the sector type.
5. Fix copyright line, which I missed when I submitted the hibernation
threading patch.
6. Dispense with bit shifting arithmetic to improve readability.
Signed-off-by: Bojan Smojver <bojan@rexursive.com>
Reviewed-by: Per Olofsson <pelle@debian.org>
Cc: stable@vger.kernel.org
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
diff --git a/kernel/power/swap.c b/kernel/power/swap.c
index 8742fd0..11e22c0 100644
--- a/kernel/power/swap.c
+++ b/kernel/power/swap.c
@@ -6,7 +6,7 @@
*
* Copyright (C) 1998,2001-2005 Pavel Machek <pavel@ucw.cz>
* Copyright (C) 2006 Rafael J. Wysocki <rjw@sisk.pl>
- * Copyright (C) 2010 Bojan Smojver <bojan@rexursive.com>
+ * Copyright (C) 2010-2012 Bojan Smojver <bojan@rexursive.com>
*
* This file is released under the GPLv2.
*
@@ -51,6 +51,23 @@
#define MAP_PAGE_ENTRIES (PAGE_SIZE / sizeof(sector_t) - 1)
+/*
+ * Number of free pages that are not high.
+ */
+static inline unsigned long low_free_pages(void)
+{
+ return nr_free_pages() - nr_free_highpages();
+}
+
+/*
+ * Number of pages required to be kept free while writing the image. Always
+ * half of all available low pages before the writing starts.
+ */
+static inline unsigned long reqd_free_pages(void)
+{
+ return low_free_pages() / 2;
+}
+
struct swap_map_page {
sector_t entries[MAP_PAGE_ENTRIES];
sector_t next_swap;
@@ -72,7 +89,7 @@ struct swap_map_handle {
sector_t cur_swap;
sector_t first_sector;
unsigned int k;
- unsigned long nr_free_pages, written;
+ unsigned long reqd_free_pages;
u32 crc32;
};
@@ -265,14 +282,17 @@ static int write_page(void *buf, sector_t offset, struct bio **bio_chain)
return -ENOSPC;
if (bio_chain) {
- src = (void *)__get_free_page(__GFP_WAIT | __GFP_HIGH);
+ src = (void *)__get_free_page(__GFP_WAIT | __GFP_NOWARN |
+ __GFP_NORETRY);
if (src) {
copy_page(src, buf);
} else {
ret = hib_wait_on_bio_chain(bio_chain); /* Free pages */
if (ret)
return ret;
- src = (void *)__get_free_page(__GFP_WAIT | __GFP_HIGH);
+ src = (void *)__get_free_page(__GFP_WAIT |
+ __GFP_NOWARN |
+ __GFP_NORETRY);
if (src) {
copy_page(src, buf);
} else {
@@ -316,8 +336,7 @@ static int get_swap_writer(struct swap_map_handle *handle)
goto err_rel;
}
handle->k = 0;
- handle->nr_free_pages = nr_free_pages() >> 1;
- handle->written = 0;
+ handle->reqd_free_pages = reqd_free_pages();
handle->first_sector = handle->cur_swap;
return 0;
err_rel:
@@ -351,12 +370,17 @@ static int swap_write_page(struct swap_map_handle *handle, void *buf,
clear_page(handle->cur);
handle->cur_swap = offset;
handle->k = 0;
- }
- if (bio_chain && ++handle->written > handle->nr_free_pages) {
- error = hib_wait_on_bio_chain(bio_chain);
- if (error)
- goto out;
- handle->written = 0;
+
+ if (bio_chain && low_free_pages() <= handle->reqd_free_pages) {
+ error = hib_wait_on_bio_chain(bio_chain);
+ if (error)
+ goto out;
+ /*
+ * Recalculate the number of required free pages, to
+ * make sure we never take more than half.
+ */
+ handle->reqd_free_pages = reqd_free_pages();
+ }
}
out:
return error;
@@ -403,8 +427,9 @@ static int swap_writer_finish(struct swap_map_handle *handle,
/* Maximum number of threads for compression/decompression. */
#define LZO_THREADS 3
-/* Maximum number of pages for read buffering. */
-#define LZO_READ_PAGES (MAP_PAGE_ENTRIES * 8)
+/* Minimum/maximum number of pages for read buffering. */
+#define LZO_MIN_RD_PAGES 1024
+#define LZO_MAX_RD_PAGES 8192
/**
@@ -615,12 +640,6 @@ static int save_image_lzo(struct swap_map_handle *handle,
}
/*
- * Adjust number of free pages after all allocations have been done.
- * We don't want to run out of pages when writing.
- */
- handle->nr_free_pages = nr_free_pages() >> 1;
-
- /*
* Start the CRC32 thread.
*/
init_waitqueue_head(&crc->go);
@@ -641,6 +660,12 @@ static int save_image_lzo(struct swap_map_handle *handle,
goto out_clean;
}
+ /*
+ * Adjust the number of required free pages after all allocations have
+ * been done. We don't want to run out of pages when writing.
+ */
+ handle->reqd_free_pages = reqd_free_pages();
+
printk(KERN_INFO
"PM: Using %u thread(s) for compression.\n"
"PM: Compressing and saving image data (%u pages) ... ",
@@ -1051,7 +1076,7 @@ static int load_image_lzo(struct swap_map_handle *handle,
unsigned i, thr, run_threads, nr_threads;
unsigned ring = 0, pg = 0, ring_size = 0,
have = 0, want, need, asked = 0;
- unsigned long read_pages;
+ unsigned long read_pages = 0;
unsigned char **page = NULL;
struct dec_data *data = NULL;
struct crc_data *crc = NULL;
@@ -1063,7 +1088,7 @@ static int load_image_lzo(struct swap_map_handle *handle,
nr_threads = num_online_cpus() - 1;
nr_threads = clamp_val(nr_threads, 1, LZO_THREADS);
- page = vmalloc(sizeof(*page) * LZO_READ_PAGES);
+ page = vmalloc(sizeof(*page) * LZO_MAX_RD_PAGES);
if (!page) {
printk(KERN_ERR "PM: Failed to allocate LZO page\n");
ret = -ENOMEM;
@@ -1128,15 +1153,22 @@ static int load_image_lzo(struct swap_map_handle *handle,
}
/*
- * Adjust number of pages for read buffering, in case we are short.
+ * Set the number of pages for read buffering.
+ * This is complete guesswork, because we'll only know the real
+ * picture once prepare_image() is called, which is much later on
+ * during the image load phase. We'll assume the worst case and
+ * say that none of the image pages are from high memory.
*/
- read_pages = (nr_free_pages() - snapshot_get_image_size()) >> 1;
- read_pages = clamp_val(read_pages, LZO_CMP_PAGES, LZO_READ_PAGES);
+ if (low_free_pages() > snapshot_get_image_size())
+ read_pages = (low_free_pages() - snapshot_get_image_size()) / 2;
+ read_pages = clamp_val(read_pages, LZO_MIN_RD_PAGES, LZO_MAX_RD_PAGES);
for (i = 0; i < read_pages; i++) {
page[i] = (void *)__get_free_page(i < LZO_CMP_PAGES ?
__GFP_WAIT | __GFP_HIGH :
- __GFP_WAIT);
+ __GFP_WAIT | __GFP_NOWARN |
+ __GFP_NORETRY);
+
if (!page[i]) {
if (i < LZO_CMP_PAGES) {
ring_size = i;

View File

@ -62,7 +62,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and # For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3" # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
# #
%global baserelease 1 %global baserelease 2
%global fedora_build %{baserelease} %global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching # base_sublevel is the kernel version we're starting with and patching
@ -93,9 +93,9 @@ Summary: The Linux kernel
# The next upstream release sublevel (base_sublevel+1) # The next upstream release sublevel (base_sublevel+1)
%define upstream_sublevel %(echo $((%{base_sublevel} + 1))) %define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
# The rc snapshot level # The rc snapshot level
%define rcrev 4 %define rcrev 5
# The git snapshot level # The git snapshot level
%define gitrev 4 %define gitrev 0
# Set rpm version accordingly # Set rpm version accordingly
%define rpmversion 3.%{upstream_sublevel}.0 %define rpmversion 3.%{upstream_sublevel}.0
%endif %endif
@ -163,7 +163,7 @@ Summary: The Linux kernel
# Set debugbuildsenabled to 1 for production (build separate debug kernels) # Set debugbuildsenabled to 1 for production (build separate debug kernels)
# and 0 for rawhide (all kernels are debug kernels). # and 0 for rawhide (all kernels are debug kernels).
# See also 'make debug' and 'make release'. # See also 'make debug' and 'make release'.
%define debugbuildsenabled 0 %define debugbuildsenabled 1
# Want to build a vanilla kernel build without any non-upstream patches? # Want to build a vanilla kernel build without any non-upstream patches?
%define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0} %define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0}
@ -176,7 +176,7 @@ Summary: The Linux kernel
%define doc_build_fail true %define doc_build_fail true
%endif %endif
%define rawhide_skip_docs 1 %define rawhide_skip_docs 0
%if 0%{?rawhide_skip_docs} %if 0%{?rawhide_skip_docs}
%define with_doc 0 %define with_doc 0
%define doc_build_fail true %define doc_build_fail true
@ -712,7 +712,6 @@ Patch12303: dmar-disable-when-ricoh-multifunction.patch
Patch13003: efi-dont-map-boot-services-on-32bit.patch Patch13003: efi-dont-map-boot-services-on-32bit.patch
Patch14000: hibernate-freeze-filesystems.patch Patch14000: hibernate-freeze-filesystems.patch
Patch14001: hibernate-watermark.patch
Patch14010: lis3-improve-handling-of-null-rate.patch Patch14010: lis3-improve-handling-of-null-rate.patch
@ -1421,7 +1420,6 @@ ApplyPatch efi-dont-map-boot-services-on-32bit.patch
# FIXME: REBASE # FIXME: REBASE
#ApplyPatch hibernate-freeze-filesystems.patch #ApplyPatch hibernate-freeze-filesystems.patch
ApplyPatch hibernate-watermark.patch
ApplyPatch lis3-improve-handling-of-null-rate.patch ApplyPatch lis3-improve-handling-of-null-rate.patch
@ -2326,6 +2324,10 @@ fi
# ||----w | # ||----w |
# || || # || ||
%changelog %changelog
* Mon Apr 30 2012 Josh Boyer <jwboyer@gmail.com> - 3.4.0-0.rc5.git0.2
- Linux v3.4-rc5
- Disable debugging options.
* Sat Apr 28 2012 Josh Boyer <jwboyer@gmail.com> - 3.4.0-0.rc4.git4.1 * Sat Apr 28 2012 Josh Boyer <jwboyer@gmail.com> - 3.4.0-0.rc4.git4.1
- Linux v3.4-rc4-308-gf7b0069 - Linux v3.4-rc4-308-gf7b0069

View File

@ -1,3 +1,2 @@
7133f5a2086a7d7ef97abac610c094f5 linux-3.3.tar.xz 7133f5a2086a7d7ef97abac610c094f5 linux-3.3.tar.xz
289c0dffa34671905f808830d1582cba patch-3.4-rc4.xz 18198a18d18496685a7e7a9572b0ae62 patch-3.4-rc5.xz
1cb394310d0032624b9e72baa9935d0d patch-3.4-rc4-git4.xz