* new bio: compile fix for alpha
@ 2001-11-29 13:54 Ivan Kokshaysky
2001-11-29 14:23 ` Jens Axboe
0 siblings, 1 reply; 7+ messages in thread
From: Ivan Kokshaysky @ 2001-11-29 13:54 UTC (permalink / raw)
To: Jens Axboe; +Cc: linux-kernel
Added BUG_ON macro, similar to x86 one;
arg 2 for blk_queue_bounce_limit() declared `long long' in blkdev.h
and `u64' in ll_rw_blk.c, which is not the same thing on alpha.
There are several compiler warnings "long long format, long arg",
caused by the same reason, but I think they could be ignored at this point.
Ivan.
--- 2.5.1p3/include/linux/blkdev.h Wed Nov 28 16:35:34 2001
+++ linux/include/linux/blkdev.h Wed Nov 28 18:31:32 2001
@@ -238,7 +238,7 @@ extern void blk_attempt_remerge(request_
extern int blk_init_queue(request_queue_t *, request_fn_proc *, char *);
extern void blk_cleanup_queue(request_queue_t *);
extern void blk_queue_make_request(request_queue_t *, make_request_fn *);
-extern void blk_queue_bounce_limit(request_queue_t *, unsigned long long);
+extern void blk_queue_bounce_limit(request_queue_t *, u64);
extern void blk_queue_max_sectors(request_queue_t *q, unsigned short);
extern void blk_queue_max_segments(request_queue_t *q, unsigned short);
extern void blk_queue_max_segment_size(request_queue_t *q, unsigned int);
--- 2.5.1p3/include/asm-alpha/page.h Wed Nov 28 16:34:32 2001
+++ linux/include/asm-alpha/page.h Wed Nov 28 18:30:31 2001
@@ -64,7 +64,14 @@ do { \
printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
__asm__ __volatile__("call_pal %0 # bugchk" : : "i" (PAL_bugchk)); \
} while (0)
+
#define PAGE_BUG(page) BUG()
+
+#define BUG_ON(condition) \
+ do { \
+ if (unlikely((long)(condition)))\
+ BUG(); \
+ } while (0)
/* Pure 2^n version of get_order */
extern __inline__ int get_order(unsigned long size)
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: new bio: compile fix for alpha 2001-11-29 13:54 new bio: compile fix for alpha Ivan Kokshaysky @ 2001-11-29 14:23 ` Jens Axboe 2001-12-06 17:43 ` Ivan Kokshaysky 0 siblings, 1 reply; 7+ messages in thread From: Jens Axboe @ 2001-11-29 14:23 UTC (permalink / raw) To: Ivan Kokshaysky; +Cc: linux-kernel On Thu, Nov 29 2001, Ivan Kokshaysky wrote: > Added BUG_ON macro, similar to x86 one; > arg 2 for blk_queue_bounce_limit() declared `long long' in blkdev.h > and `u64' in ll_rw_blk.c, which is not the same thing on alpha. Ah indeed, thanks. > There are several compiler warnings "long long format, long arg", > caused by the same reason, but I think they could be ignored at this point. Please send whatever you find, thanks. -- Jens Axboe ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: new bio: compile fix for alpha 2001-11-29 14:23 ` Jens Axboe @ 2001-12-06 17:43 ` Ivan Kokshaysky 2001-12-06 18:23 ` Jens Axboe 0 siblings, 1 reply; 7+ messages in thread From: Ivan Kokshaysky @ 2001-12-06 17:43 UTC (permalink / raw) To: Jens Axboe; +Cc: linux-kernel On Thu, Nov 29, 2001 at 03:23:39PM +0100, Jens Axboe wrote: > Please send whatever you find, thanks. Well, I think this one is critical - in -pre4 BIO_CONTIG macro has been changed: - (bio_to_phys((bio)) + bio_size((bio)) == bio_to_phys((nxt))) + (bvec_to_phys(__BVEC_END((bio)) + (bio)->bi_size) ==bio_to_phys((nxt))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This means that you add size in bytes to the `struct bio_vec' pointer, which is obviously bogus. I wonder why this typo didn't expose itself on x86 - on alpha I've got an oops on very first disk i/o in partition check... The rest is cleaning up some format vs. arg inconsistency on 64-bit platforms. Oh, and yet another [incorrect] BUG_ON macro on alpha killed. Ivan. --- 2.5.1p5/fs/bio.c Thu Dec 6 19:25:13 2001 +++ linux/fs/bio.c Thu Dec 6 19:25:26 2001 @@ -703,7 +703,7 @@ static int __init init_bio(void) panic("bio: can't create bio_cachep slab cache\n"); nr = bio_init_pool(); - printk("BIO: pool of %d setup, %uKb (%d bytes/bio)\n", nr, nr * sizeof(struct bio) >> 10, sizeof(struct bio)); + printk("BIO: pool of %d setup, %luKb (%ld bytes/bio)\n", nr, nr * sizeof(struct bio) >> 10, sizeof(struct bio)); biovec_init_pool(); --- 2.5.1p5/include/linux/bio.h Thu Dec 6 18:53:42 2001 +++ linux/include/linux/bio.h Thu Dec 6 18:55:31 2001 @@ -120,7 +120,7 @@ struct bio { */ #define __BVEC_END(bio) bio_iovec_idx((bio), (bio)->bi_idx - 1) #define BIO_CONTIG(bio, nxt) \ - (bvec_to_phys(__BVEC_END((bio)) + (bio)->bi_size) == bio_to_phys((nxt))) + (bvec_to_phys(__BVEC_END((bio))) + (bio)->bi_size == bio_to_phys((nxt))) #define __BIO_SEG_BOUNDARY(addr1, addr2, mask) \ (((addr1) | (mask)) == (((addr2) - 1) | (mask))) #define BIO_SEG_BOUNDARY(q, b1, b2) \ --- 2.5.1p5/include/asm-alpha/page.h Thu Dec 6 18:53:42 2001 +++ linux/include/asm-alpha/page.h Thu Dec 6 19:02:04 2001 @@ -73,12 +73,6 @@ do { \ BUG(); \ } while (0) -#define BUG_ON(condition) \ - do { \ - if (unlikely((int)(condition))) \ - BUG(); \ - } while (0) - /* Pure 2^n version of get_order */ extern __inline__ int get_order(unsigned long size) { --- 2.5.1p5/drivers/block/ll_rw_blk.c Thu Dec 6 18:53:37 2001 +++ linux/drivers/block/ll_rw_blk.c Thu Dec 6 18:55:10 2001 @@ -177,7 +177,7 @@ void blk_queue_bounce_limit(request_queu if (dma_addr == BLK_BOUNCE_ANY) printk("no I/O memory limit\n"); else - printk("I/O limit %luMb (mask 0x%Lx)\n", mb, (u64) dma_addr); + printk("I/O limit %luMb (mask 0x%Lx)\n", mb, (long long) dma_addr); } q->bounce_pfn = bounce_pfn; @@ -1056,7 +1056,7 @@ void generic_make_request(struct bio *bi printk(KERN_INFO "%s: rw=%ld, want=%ld, limit=%Lu\n", kdevname(bio->bi_dev), bio->bi_rw, (sector + nr_sectors)>>1, - (u64) blk_size[major][minor]); + (long long) blk_size[major][minor]); } set_bit(BIO_EOF, &bio->bi_flags); goto end_io; @@ -1076,7 +1076,7 @@ void generic_make_request(struct bio *bi if (!q) { printk(KERN_ERR "generic_make_request: Trying to access nonexistent block-device %s (%Lu)\n", - kdevname(bio->bi_dev), (u64) bio->bi_sector); + kdevname(bio->bi_dev), (long long) bio->bi_sector); end_io: bio->bi_end_io(bio, nr_sectors); break; ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: new bio: compile fix for alpha 2001-12-06 17:43 ` Ivan Kokshaysky @ 2001-12-06 18:23 ` Jens Axboe 2001-12-06 18:39 ` Jeff V. Merkey 2001-12-07 10:10 ` Ivan Kokshaysky 0 siblings, 2 replies; 7+ messages in thread From: Jens Axboe @ 2001-12-06 18:23 UTC (permalink / raw) To: Ivan Kokshaysky; +Cc: linux-kernel On Thu, Dec 06 2001, Ivan Kokshaysky wrote: > On Thu, Nov 29, 2001 at 03:23:39PM +0100, Jens Axboe wrote: > > Please send whatever you find, thanks. > > Well, I think this one is critical - in -pre4 BIO_CONTIG macro > has been changed: > - (bio_to_phys((bio)) + bio_size((bio)) == bio_to_phys((nxt))) > + (bvec_to_phys(__BVEC_END((bio)) + (bio)->bi_size) ==bio_to_phys((nxt))) > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > This means that you add size in bytes to the `struct bio_vec' pointer, > which is obviously bogus. I wonder why this typo didn't expose itself > on x86 - on alpha I've got an oops on very first disk i/o in partition > check... Irk, good spotting. Thanks! > The rest is cleaning up some format vs. arg inconsistency on 64-bit > platforms. > Oh, and yet another [incorrect] BUG_ON macro on alpha killed. Applied, although I think we'll make BUG_ON a kernel generic and not platform specific as per Rusty's patch. -- Jens Axboe ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: new bio: compile fix for alpha 2001-12-06 18:23 ` Jens Axboe @ 2001-12-06 18:39 ` Jeff V. Merkey 2001-12-07 14:51 ` Jens Axboe 2001-12-07 10:10 ` Ivan Kokshaysky 1 sibling, 1 reply; 7+ messages in thread From: Jeff V. Merkey @ 2001-12-06 18:39 UTC (permalink / raw) To: Jens Axboe; +Cc: Ivan Kokshaysky, linux-kernel Jens, This interface is totally cool and much appreciated. I am nearly done getting the page cache mapped into NWFS. I am waiting for the bugs to settle down, I still see some issues with the AHA1512 drivers, but IDE works great and is really fast. Jeff On Thu, Dec 06, 2001 at 07:23:18PM +0100, Jens Axboe wrote: > On Thu, Dec 06 2001, Ivan Kokshaysky wrote: > > On Thu, Nov 29, 2001 at 03:23:39PM +0100, Jens Axboe wrote: > > > Please send whatever you find, thanks. > > > > Well, I think this one is critical - in -pre4 BIO_CONTIG macro > > has been changed: > > - (bio_to_phys((bio)) + bio_size((bio)) == bio_to_phys((nxt))) > > + (bvec_to_phys(__BVEC_END((bio)) + (bio)->bi_size) ==bio_to_phys((nxt))) > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > This means that you add size in bytes to the `struct bio_vec' pointer, > > which is obviously bogus. I wonder why this typo didn't expose itself > > on x86 - on alpha I've got an oops on very first disk i/o in partition > > check... > > Irk, good spotting. Thanks! > > > The rest is cleaning up some format vs. arg inconsistency on 64-bit > > platforms. > > Oh, and yet another [incorrect] BUG_ON macro on alpha killed. > > Applied, although I think we'll make BUG_ON a kernel generic and not > platform specific as per Rusty's patch. > > -- > Jens Axboe > > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: new bio: compile fix for alpha 2001-12-06 18:39 ` Jeff V. Merkey @ 2001-12-07 14:51 ` Jens Axboe 0 siblings, 0 replies; 7+ messages in thread From: Jens Axboe @ 2001-12-07 14:51 UTC (permalink / raw) To: Jeff V. Merkey; +Cc: Ivan Kokshaysky, linux-kernel On Thu, Dec 06 2001, Jeff V. Merkey wrote: > > Jens, > > This interface is totally cool and much appreciated. I am > nearly done getting the page cache mapped into NWFS. I am > waiting for the bugs to settle down, I still see some issues > with the AHA1512 drivers, but IDE works great and is > really fast. Great, glad to hear it. There will be "issues" for a while :-) -- Jens Axboe ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: new bio: compile fix for alpha 2001-12-06 18:23 ` Jens Axboe 2001-12-06 18:39 ` Jeff V. Merkey @ 2001-12-07 10:10 ` Ivan Kokshaysky 1 sibling, 0 replies; 7+ messages in thread From: Ivan Kokshaysky @ 2001-12-07 10:10 UTC (permalink / raw) To: Jens Axboe; +Cc: linux-kernel On Thu, Dec 06, 2001 at 07:23:18PM +0100, Jens Axboe wrote: > Applied, although I think we'll make BUG_ON a kernel generic and not > platform specific as per Rusty's patch. Agreed, this would be better. Ivan. ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2001-12-07 14:54 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2001-11-29 13:54 new bio: compile fix for alpha Ivan Kokshaysky 2001-11-29 14:23 ` Jens Axboe 2001-12-06 17:43 ` Ivan Kokshaysky 2001-12-06 18:23 ` Jens Axboe 2001-12-06 18:39 ` Jeff V. Merkey 2001-12-07 14:51 ` Jens Axboe 2001-12-07 10:10 ` Ivan Kokshaysky
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox