Commit 6ebbf06b authored by Jens Axboe's avatar Jens Axboe

bio.h:

  clean up with bio_kmap_irq() thing properly. remove the micro optimization of _not_ calling kmap_atomic() if this isn't a highmem page. we could keep that and do the inc_preempt_count() ourselves, but I'm not sure it's worth it and this is cleaner.
parent fe0e4341
...@@ -215,17 +215,11 @@ extern inline char *bio_kmap_irq(struct bio *bio, unsigned long *flags) ...@@ -215,17 +215,11 @@ extern inline char *bio_kmap_irq(struct bio *bio, unsigned long *flags)
{ {
unsigned long addr; unsigned long addr;
local_save_flags(*flags);
/*
* could be low
*/
if (!PageHighMem(bio_page(bio)))
return bio_data(bio);
/* /*
* it's a highmem page * might not be a highmem page, but the preempt/irq count
* balancing is a lot nicer this way
*/ */
local_save_flags(*flags);
local_irq_disable(); local_irq_disable();
addr = (unsigned long) kmap_atomic(bio_page(bio), KM_BIO_SRC_IRQ); addr = (unsigned long) kmap_atomic(bio_page(bio), KM_BIO_SRC_IRQ);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment