diff options
-rw-r--r-- | config-generic | 8 | ||||
-rw-r--r-- | config-nodebug | 110 | ||||
-rw-r--r-- | config-x86-generic | 2 | ||||
-rw-r--r-- | hibernate-watermark.patch | 217 | ||||
-rw-r--r-- | kernel.spec | 16 | ||||
-rw-r--r-- | sources | 3 |
6 files changed, 70 insertions, 286 deletions
diff --git a/config-generic b/config-generic index d6d04e544..df5fbe45d 100644 --- a/config-generic +++ b/config-generic @@ -1464,13 +1464,13 @@ CONFIG_B43_SDIO=y CONFIG_B43_BCMA=y # CONFIG_B43_BCMA_EXTRA is not set CONFIG_B43_BCMA_PIO=y -CONFIG_B43_DEBUG=y +# CONFIG_B43_DEBUG is not set CONFIG_B43_PHY_LP=y CONFIG_B43_PHY_N=y CONFIG_B43_PHY_HT=y # CONFIG_B43_FORCE_PIO is not set CONFIG_B43LEGACY=m -CONFIG_B43LEGACY_DEBUG=y +# CONFIG_B43LEGACY_DEBUG is not set CONFIG_B43LEGACY_DMA=y CONFIG_B43LEGACY_PIO=y CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y @@ -3054,7 +3054,7 @@ CONFIG_USB_STORAGE_REALTEK=m CONFIG_REALTEK_AUTOPM=y CONFIG_USB_STORAGE_ENE_UB6250=m # 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_TRACE=y CONFIG_PM_TRACE_RTC=y -CONFIG_PM_TEST_SUSPEND=y +# CONFIG_PM_TEST_SUSPEND is not set CONFIG_PM_RUNTIME=y # CONFIG_PM_OPP is not set diff --git a/config-nodebug b/config-nodebug index c14754265..aff30011e 100644 --- a/config-nodebug +++ b/config-nodebug @@ -2,109 +2,109 @@ CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_DEBUG=y CONFIG_SND_PCM_XRUN_DEBUG=y -CONFIG_DEBUG_ATOMIC_SLEEP=y - -CONFIG_DEBUG_MUTEXES=y -CONFIG_DEBUG_RT_MUTEXES=y -CONFIG_DEBUG_LOCK_ALLOC=y -CONFIG_PROVE_LOCKING=y -CONFIG_DEBUG_SPINLOCK=y -CONFIG_PROVE_RCU=y +# CONFIG_DEBUG_ATOMIC_SLEEP is not set + +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_PROVE_RCU 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_CPU_NOTIFIER_ERROR_INJECT=m +# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set -CONFIG_FAULT_INJECTION=y -CONFIG_FAILSLAB=y -CONFIG_FAIL_PAGE_ALLOC=y -CONFIG_FAIL_MAKE_REQUEST=y -CONFIG_FAULT_INJECTION_DEBUG_FS=y -CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y -CONFIG_FAIL_IO_TIMEOUT=y -CONFIG_FAIL_MMC_REQUEST=y +# CONFIG_FAULT_INJECTION is not set +# CONFIG_FAILSLAB is not set +# CONFIG_FAIL_PAGE_ALLOC is not set +# CONFIG_FAIL_MAKE_REQUEST is not set +# CONFIG_FAULT_INJECTION_DEBUG_FS is not set +# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set +# CONFIG_FAIL_IO_TIMEOUT is not set +# 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_DEBUG_SG=y +# CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_PAGEALLOC is not set -CONFIG_DEBUG_WRITECOUNT=y -CONFIG_DEBUG_OBJECTS=y +# CONFIG_DEBUG_WRITECOUNT is not set +# CONFIG_DEBUG_OBJECTS is not set # CONFIG_DEBUG_OBJECTS_SELFTEST is not set -CONFIG_DEBUG_OBJECTS_FREE=y -CONFIG_DEBUG_OBJECTS_TIMERS=y -CONFIG_DEBUG_OBJECTS_RCU_HEAD=y +# CONFIG_DEBUG_OBJECTS_FREE is not set +# CONFIG_DEBUG_OBJECTS_TIMERS is not set +# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set 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, # 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_CARL9170_DEBUGFS=y -CONFIG_IWLWIFI_DEVICE_TRACING=y +# CONFIG_ATH_DEBUG is not set +# CONFIG_CARL9170_DEBUGFS is not set +# 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_VDEBUG=y +# CONFIG_DMADEVICES_DEBUG is not set +# CONFIG_DMADEVICES_VDEBUG is not set CONFIG_PM_ADVANCED_DEBUG=y -CONFIG_CEPH_LIB_PRETTYDEBUG=y -CONFIG_QUOTA_DEBUG=y +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +# CONFIG_QUOTA_DEBUG is not set CONFIG_PCI_DEFAULT_USE_CRS=y CONFIG_KGDB_KDB=y CONFIG_KDB_KEYBOARD=y -CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y -CONFIG_TEST_LIST_SORT=y +# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set +# 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_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_TEST is not set CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y diff --git a/config-x86-generic b/config-x86-generic index ad2ae8ecd..392dfe7c2 100644 --- a/config-x86-generic +++ b/config-x86-generic @@ -314,7 +314,7 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_NO_BOOTMEM is not set # CONFIG_MEMTEST is not set -CONFIG_MAXSMP=y +# CONFIG_MAXSMP is not set CONFIG_HP_ILO=m diff --git a/hibernate-watermark.patch b/hibernate-watermark.patch deleted file mode 100644 index 6bf920bd7..000000000 --- a/hibernate-watermark.patch +++ /dev/null @@ -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; diff --git a/kernel.spec b/kernel.spec index a68c8cfeb..ef72f0dcb 100644 --- a/kernel.spec +++ b/kernel.spec @@ -62,7 +62,7 @@ Summary: The Linux kernel # 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" # -%global baserelease 1 +%global baserelease 2 %global fedora_build %{baserelease} # 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) %define upstream_sublevel %(echo $((%{base_sublevel} + 1))) # The rc snapshot level -%define rcrev 4 +%define rcrev 5 # The git snapshot level -%define gitrev 4 +%define gitrev 0 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -163,7 +163,7 @@ Summary: The Linux kernel # Set debugbuildsenabled to 1 for production (build separate debug kernels) # and 0 for rawhide (all kernels are debug kernels). # 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? %define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0} @@ -176,7 +176,7 @@ Summary: The Linux kernel %define doc_build_fail true %endif -%define rawhide_skip_docs 1 +%define rawhide_skip_docs 0 %if 0%{?rawhide_skip_docs} %define with_doc 0 %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 Patch14000: hibernate-freeze-filesystems.patch -Patch14001: hibernate-watermark.patch Patch14010: lis3-improve-handling-of-null-rate.patch @@ -1421,7 +1420,6 @@ ApplyPatch efi-dont-map-boot-services-on-32bit.patch # FIXME: REBASE #ApplyPatch hibernate-freeze-filesystems.patch -ApplyPatch hibernate-watermark.patch ApplyPatch lis3-improve-handling-of-null-rate.patch @@ -2326,6 +2324,10 @@ fi # ||----w | # || || %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 - Linux v3.4-rc4-308-gf7b0069 @@ -1,3 +1,2 @@ 7133f5a2086a7d7ef97abac610c094f5 linux-3.3.tar.xz -289c0dffa34671905f808830d1582cba patch-3.4-rc4.xz -1cb394310d0032624b9e72baa9935d0d patch-3.4-rc4-git4.xz +18198a18d18496685a7e7a9572b0ae62 patch-3.4-rc5.xz |