On Fri, Apr 01, 2005 at 01:34:54AM -0800, Andrew Morton wrote:
> Matt Mackall <[EMAIL PROTECTED]> wrote:
> >
> > I've been sitting on this patch for a while, figured it's high time I
> >  shared it with the world. This patch eliminates all kernel bugs, trims
> >  about 35k off the typical kernel, and makes the system slightly
> >  faster. The patch is against the latest bk snapshot, please apply.
> 
> ho-hum, more ifdefs.
> 
> How's about you nuke PAGE_BUG first?  Just replace it with BUG() everywhere.
> 
> Or do it as a later patch - doesn't matter much I guess.

With pleasure.

Exterminate PAGE_BUG.

Signed-off-by: Matt Mackall <[EMAIL PROTECTED]>

Index: af/include/asm-sh64/bug.h
===================================================================
--- af.orig/include/asm-sh64/bug.h      2005-04-01 11:17:38.000000000 -0800
+++ af/include/asm-sh64/bug.h   2005-04-01 11:17:40.000000000 -0800
@@ -17,10 +17,6 @@
                BUG(); \
 } while(0)
 
-#define PAGE_BUG(page) do { \
-       BUG(); \
-} while (0)
-
 #define WARN_ON(condition) do { \
        if (unlikely((condition)!=0)) { \
                printk("Badness in %s at %s:%d\n", __FUNCTION__, __FILE__, 
__LINE__); \
Index: af/fs/buffer.c
===================================================================
--- af.orig/fs/buffer.c 2005-04-01 11:17:38.000000000 -0800
+++ af/fs/buffer.c      2005-04-01 11:17:40.000000000 -0800
@@ -2078,8 +2078,7 @@ int block_read_full_page(struct page *pa
        int nr, i;
        int fully_mapped = 1;
 
-       if (!PageLocked(page))
-               PAGE_BUG(page);
+       BUG_ON(!PageLocked(page));
        blocksize = 1 << inode->i_blkbits;
        if (!page_has_buffers(page))
                create_empty_buffers(page, blocksize, 0);
Index: af/fs/afs/file.c
===================================================================
--- af.orig/fs/afs/file.c       2005-04-01 11:17:38.000000000 -0800
+++ af/fs/afs/file.c    2005-04-01 11:17:40.000000000 -0800
@@ -131,8 +131,7 @@ static int afs_file_readpage(struct file
 
        vnode = AFS_FS_I(inode);
 
-       if (!PageLocked(page))
-               PAGE_BUG(page);
+       BUG_ON(!PageLocked(page));
 
        ret = -ESTALE;
        if (vnode->flags & AFS_VNODE_DELETED)
Index: af/include/asm-generic/bug.h
===================================================================
--- af.orig/include/asm-generic/bug.h   2005-04-01 11:17:38.000000000 -0800
+++ af/include/asm-generic/bug.h        2005-04-01 11:17:40.000000000 -0800
@@ -12,13 +12,6 @@
 } while (0)
 #endif
 
-#ifndef HAVE_ARCH_PAGE_BUG
-#define PAGE_BUG(page) do { \
-       printk("page BUG for page at %p\n", page); \
-       BUG(); \
-} while (0)
-#endif
-
 #ifndef HAVE_ARCH_BUG_ON
 #define BUG_ON(condition) do { if (unlikely((condition)!=0)) BUG(); } while(0)
 #endif
@@ -37,10 +30,6 @@
 #define BUG()
 #endif
 
-#ifndef HAVE_ARCH_PAGE_BUG
-#define PAGE_BUG(page) do { if (page) ; } while (0)
-#endif
-
 #ifndef HAVE_ARCH_BUG_ON
 #define BUG_ON(condition) do { if (condition) ; } while(0)
 #endif
Index: af/fs/jffs2/file.c
===================================================================
--- af.orig/fs/jffs2/file.c     2005-04-01 11:17:38.000000000 -0800
+++ af/fs/jffs2/file.c  2005-04-01 11:17:40.000000000 -0800
@@ -79,8 +79,7 @@ static int jffs2_do_readpage_nolock (str
 
        D2(printk(KERN_DEBUG "jffs2_do_readpage_nolock(): ino #%lu, page at 
offset 0x%lx\n", inode->i_ino, pg->index << PAGE_CACHE_SHIFT));
 
-       if (!PageLocked(pg))
-                PAGE_BUG(pg);
+       BUG_ON(!PageLocked(pg));
 
        pg_buf = kmap(pg);
        /* FIXME: Can kmap fail? */
Index: af/include/asm-cris/page.h
===================================================================
--- af.orig/include/asm-cris/page.h     2005-04-01 11:17:38.000000000 -0800
+++ af/include/asm-cris/page.h  2005-04-01 11:17:40.000000000 -0800
@@ -77,10 +77,6 @@ typedef struct { unsigned long pgprot; }
   printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
 } while (0)
 
-#define PAGE_BUG(page) do { \
-         BUG(); \
-} while (0)
-
 /* Pure 2^n version of get_order */
 static inline int get_order(unsigned long size)
 {
Index: af/fs/udf/file.c
===================================================================
--- af.orig/fs/udf/file.c       2005-04-01 11:17:38.000000000 -0800
+++ af/fs/udf/file.c    2005-04-01 11:17:40.000000000 -0800
@@ -49,8 +49,7 @@ static int udf_adinicb_readpage(struct f
        struct inode *inode = page->mapping->host;
        char *kaddr;
 
-       if (!PageLocked(page))
-               PAGE_BUG(page);
+       BUG_ON(!PageLocked(page));
 
        kaddr = kmap(page);
        memset(kaddr, 0, PAGE_CACHE_SIZE);
@@ -67,8 +66,7 @@ static int udf_adinicb_writepage(struct 
        struct inode *inode = page->mapping->host;
        char *kaddr;
 
-       if (!PageLocked(page))
-               PAGE_BUG(page);
+       BUG_ON(!PageLocked(page));
 
        kaddr = kmap(page);
        memcpy(UDF_I_DATA(inode) + UDF_I_LENEATTR(inode), kaddr, inode->i_size);
Index: af/fs/udf/inode.c
===================================================================
--- af.orig/fs/udf/inode.c      2005-04-01 11:17:38.000000000 -0800
+++ af/fs/udf/inode.c   2005-04-01 11:17:40.000000000 -0800
@@ -167,8 +167,8 @@ void udf_expand_file_adinicb(struct inod
        }
 
        page = grab_cache_page(inode->i_mapping, 0);
-       if (!PageLocked(page))
-               PAGE_BUG(page);
+       BUG_ON(!PageLocked(page));
+
        if (!PageUptodate(page))
        {
                kaddr = kmap(page);
Index: af/arch/arm26/mm/small_page.c
===================================================================
--- af.orig/arch/arm26/mm/small_page.c  2005-04-01 11:17:38.000000000 -0800
+++ af/arch/arm26/mm/small_page.c       2005-04-01 11:17:40.000000000 -0800
@@ -92,8 +92,7 @@ static unsigned long __get_small_page(in
                page = list_entry(order->queue.next, struct page, lru);
 again:
 #ifdef PEDANTIC
-               if (USED_MAP(page) & ~order->all_used)
-                       PAGE_BUG(page);
+               BUG_ON(USED_MAP(page) & ~order->all_used);
 #endif
                offset = ffz(USED_MAP(page));
                SET_USED(page, offset);
@@ -141,8 +140,7 @@ static void __free_small_page(unsigned l
                        goto non_small;
 
 #ifdef PEDANTIC
-               if (USED_MAP(page) & ~order->all_used)
-                       PAGE_BUG(page);
+               BUG_ON(USED_MAP(page) & ~order->all_used);
 #endif
 
                spage = spage >> order->shift;
Index: af/mm/filemap.c
===================================================================
--- af.orig/mm/filemap.c        2005-04-01 11:17:38.000000000 -0800
+++ af/mm/filemap.c     2005-04-01 11:17:40.000000000 -0800
@@ -123,8 +123,7 @@ void remove_from_page_cache(struct page 
 {
        struct address_space *mapping = page->mapping;
 
-       if (unlikely(!PageLocked(page)))
-               PAGE_BUG(page);
+       BUG_ON(!PageLocked(page));
 
        write_lock_irq(&mapping->tree_lock);
        __remove_from_page_cache(page);


-- 
Mathematics is the supreme nostalgia of our time.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to