+ profile-likely-unlikely-macros-tidy.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     profile-likely-unlikely-macros-tidy

has been added to the -mm tree.  Its filename is

     profile-likely-unlikely-macros-tidy.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this


From: Andrew Morton <akpm@xxxxxxxx>

Cc: Daniel Walker <dwalker@xxxxxxxxxx>
CC: Hua Zhong <hzhong@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 include/linux/compiler.h |   30 +++++++++++++--------------
 lib/likely_prof.c        |   41 +++++++++++++++++++------------------
 Kconfig.debug            |    0 
 Makefile                 |    0 
 4 files changed, 37 insertions(+), 34 deletions(-)

diff -puN include/linux/compiler.h~profile-likely-unlikely-macros-tidy include/linux/compiler.h
--- 25/include/linux/compiler.h~profile-likely-unlikely-macros-tidy	Wed Apr 26 15:23:15 2006
+++ 25-akpm/include/linux/compiler.h	Wed Apr 26 15:23:15 2006
@@ -65,22 +65,22 @@ struct likeliness {
 
 extern int do_check_likely(struct likeliness *likeliness, int exp);
 
-# define LP_UNSEEN	4
+#define LP_UNSEEN	4
 
-# define __check_likely(exp, is_likely)							\
-	({										\
-		static __attribute__((__section__(".likely.data")))			\
-			struct likeliness likeliness = {				\
-				.func = __func__,					\
-				.file = __FILE__,					\
-				.line = __LINE__,					\
-				.type = is_likely | LP_UNSEEN,				\
-			};								\
-		do_check_likely(&likeliness, !!(exp));					\
+#define __check_likely(exp, is_likely)					\
+	({								\
+		static __attribute__((__section__(".likely.data")))	\
+			struct likeliness likeliness = {		\
+				.func = __func__,			\
+				.file = __FILE__,			\
+				.line = __LINE__,			\
+				.type = is_likely | LP_UNSEEN,		\
+			};						\
+		do_check_likely(&likeliness, !!(exp));			\
 	})
 
-# define likely(x)	__check_likely(x, 1)
-# define unlikely(x)	__check_likely(x, 0)
+#define likely(x)	__check_likely(x, 1)
+#define unlikely(x)	__check_likely(x, 0)
 #else
 /*
  * Generic compiler-dependent macros required for kernel
@@ -88,8 +88,8 @@ extern int do_check_likely(struct likeli
  * specific implementations come from the above header files
  */
 
-# define likely(x)	__builtin_expect(!!(x), 1)
-# define unlikely(x)	__builtin_expect(!!(x), 0)
+#define likely(x)	__builtin_expect(!!(x), 1)
+#define unlikely(x)	__builtin_expect(!!(x), 0)
 #endif
 
 /* Optimization barrier */
diff -puN lib/Kconfig.debug~profile-likely-unlikely-macros-tidy lib/Kconfig.debug
diff -puN lib/likely_prof.c~profile-likely-unlikely-macros-tidy lib/likely_prof.c
--- 25/lib/likely_prof.c~profile-likely-unlikely-macros-tidy	Wed Apr 26 15:23:15 2006
+++ 25-akpm/lib/likely_prof.c	Wed Apr 26 15:23:15 2006
@@ -14,15 +14,16 @@
 #include <linux/fs.h>
 #include <linux/seq_file.h>
 #include <linux/proc_fs.h>
+
 #include <asm/bug.h>
 #include <asm/atomic.h>
 
 static struct likeliness *likeliness_head;
 
-volatile unsigned long likely_lock = 0;
-
 int do_check_likely(struct likeliness *likeliness, int ret)
 {
+	static unsigned long likely_lock;
+
 	if (ret)
 		likeliness->count[1]++;
 	else
@@ -30,13 +31,11 @@ int do_check_likely(struct likeliness *l
 
 	if (likeliness->type & LP_UNSEEN) {
 		/*
-		 * We don't simple use a spinlock because
-		 * internally to the spinlock there is a
-		 * call to unlikely which causes recursion.
-		 * We opted for this method because we
-		 * didn't need a preempt/irq disable and it
-		 * was a bit cleaner then using internal __raw
-		 * spinlock calls .
+		 * We don't simple use a spinlock because internally to the
+		 * spinlock there is a call to unlikely which causes recursion.
+		 * We opted for this method because we didn't need a preempt/irq
+		 * disable and it was a bit cleaner then using internal __raw
+		 * spinlock calls.
 		 */
 		if (!test_and_set_bit(0, &likely_lock)) {
 			if (likeliness->type & LP_UNSEEN) {
@@ -58,8 +57,10 @@ static void * lp_seq_start(struct seq_fi
 	if (!*pos) {
 
 		seq_printf(out, "Likely Profiling Results\n");
-		seq_printf(out, " --------------------------------------------------------------------\n");
-		seq_printf(out, "[+- ] Type | # True | # False | Function:Filename@Line\n");
+		seq_printf(out, " --------------------------------------------"
+				"------------------------\n");
+		seq_printf(out, "[+- ] Type | # True | # False | Function:"
+				"Filename@Line\n");
 
 		out->private = likeliness_head;
 	}
@@ -67,9 +68,9 @@ static void * lp_seq_start(struct seq_fi
 	return out->private;
 }
 
-static void * lp_seq_next(struct seq_file *out, void *p, loff_t *pos)
+static void *lp_seq_next(struct seq_file *out, void *p, loff_t *pos)
 {
-	struct likeliness * entry = p;
+	struct likeliness *entry = p;
 
 	if (entry->next) {
 		++(*pos);
@@ -77,13 +78,14 @@ static void * lp_seq_next(struct seq_fil
 	} else
 		out->private = NULL;
 
-	return (out->private);
+	return out->private;
 }
 
 static int lp_seq_show(struct seq_file *out, void *p)
 {
-	struct likeliness * entry = p;
-	int true = entry->count[1], false = entry->count[0];
+	struct likeliness *entry = p;
+	int true = entry->count[1];
+	int false = entry->count[0];
 
 	if (!entry->type) {
 		if (true > false)
@@ -92,8 +94,7 @@ static int lp_seq_show(struct seq_file *
 			seq_printf(out, " ");
 
 		seq_printf(out, "unlikely ");
-	}
-	else {
+	} else {
 		if (true < false)
 			seq_printf(out, "-");
 		else
@@ -108,7 +109,9 @@ static int lp_seq_show(struct seq_file *
 	return 0;
 }
 
-static void lp_seq_stop(struct seq_file *m, void *p) { }
+static void lp_seq_stop(struct seq_file *m, void *p)
+{
+}
 
 struct seq_operations likely_profiling_ops = {
 	.start  = lp_seq_start,
diff -puN lib/Makefile~profile-likely-unlikely-macros-tidy lib/Makefile
_

Patches currently in -mm which might be from akpm@xxxxxxxx are

origin.patch
config_net=n-build-fix.patch
request_irq-remove-warnings-from-irq-probing.patch
git-acpi.patch
acpi-update-asus_acpi-driver-registration-fix.patch
acpi-memory-hotplug-cannot-manage-_crs-with-plural-resoureces.patch
catch-notification-of-memory-add-event-of-acpi-via-container-driver-register-start-func-for-memory-device.patch
catch-notification-of-memory-add-event-of-acpi-via-container-driveravoid-redundant-call-add_memory.patch
remove-for_each_cpu.patch
sony_apci-resume.patch
powernow-k8-crash-workaround.patch
git-dvb.patch
dvb-core-ule-fixes-and-rfc4326-additions-kernel-2616-tidy.patch
sparc32-vivi-fix.patch
git-dvb-compat-build-fix.patch
bt866-build-fix.patch
connector-exports.patch
opencores-i2c-bus-driver-tidy.patch
git-gfs2.patch
git-libata-all.patch
git-mtd.patch
git-netdev-all.patch
pci-error-recovery-e1000-network-device-driver.patch
git-powerpc.patch
powerpc-pseries-avoid-crash-in-pci-code-if-mem-system-not-up-tidy.patch
gregkh-pci-pci-64-bit-resources-drivers-others-changes-amba-fix.patch
git-scsi-misc.patch
git-scsi-rc-fixes.patch
enable-advansys-driver.patch
advansys-warning-workaround.patch
scsi-clean-up-warnings-in-advansys-driver-fix.patch
fix-sco-on-some-bluetooth-adapters-tidy.patch
git-watchdog.patch
pg_uncached-is-ia64-only.patch
migration-remove-unnecessary-pageswapcache-checks-fix.patch
wait_table-and-zonelist-initializing-for-memory-hotadd-wait_table-initialization-fixes.patch
preserve-write-permissions-in-migration-entries-fix.patch
read-write-migration-entries-make-mprotect-convert-write-migration-fix.patch
read-write-migration-entries-make-mprotect-convert-write-migration-fix-fix.patch
read-write-migration-entries-make-mprotect-convert-write-migration-fix-fix-fix.patch
slab-cleanup-kmem_getpages-fix.patch
slab-stop-using-list_for_each-fix.patch
pgdat-allocation-for-new-node-add-specify-node-id-tidy.patch
pgdat-allocation-for-new-node-add-get-node-id-by-acpi-tidy.patch
pgdat-allocation-for-new-node-add-generic-alloc-node_data-tidy.patch
pgdat-allocation-for-new-node-add-export-kswapd-start-func-tidy.patch
mm-introduce-remap_vmalloc_range-fix.patch
acx1xx-wireless-driver.patch
x86-x86_64-avoid-irq0-ioapic-pin-collision-tidy.patch
s390-dasd-device-identifiers-fix.patch
prune_one_dentry-tweaks.patch
mmput-might-sleep.patch
jbd-avoid-kfree-null.patch
ext3_clear_inode-avoid-kfree-null.patch
leds-amstrad-delta-led-support-tidy.patch
hangcheck-remove-monotomic_clock-on-x86.patch
pi-futex-futex-code-cleanups-fix.patch
reiser4.patch
savagefb-add-state-save-and_restore-hooks-tidy.patch
kgdb-core-lite-add-reboot-command.patch
kgdb-8250-fix.patch
nr_blockdev_pages-in_interrupt-warning.patch
device-suspend-debug.patch
revert-tty-buffering-comment-out-debug-code.patch
slab-leaks3-default-y.patch
x86-kmap_atomic-debugging.patch
profile-likely-unlikely-macros-tidy.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux