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/