Linux v3.4-rc5
- Disable debugging options.
This commit is contained in:
parent
1bf07bb632
commit
5794181098
@ -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
|
||||||
|
|
||||||
|
108
config-nodebug
108
config-nodebug
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
|
16
kernel.spec
16
kernel.spec
@ -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
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user