From: Jens Axboe <jens.axboe@oracle.com>
To: Rene Herman <rene.herman@gmail.com>
Cc: Andrew Morton <akpm@osdl.org>,
Pekka Enberg <penberg@cs.helsinki.fi>,
Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: New Mitsumi legacy CD-ROM driver
Date: Tue, 8 May 2007 15:49:44 +0200 [thread overview]
Message-ID: <20070508134944.GO4163@kernel.dk> (raw)
In-Reply-To: <46407D75.7050603@gmail.com>
On Tue, May 08 2007, Rene Herman wrote:
> >Yeah, I think it's pointless to support highmem. And as long as you
> >don't call blk_queue_bounce_limit() to actively enable highmem, you are
> >not going to receive a bio/request with highmem pages.
>
> Yep, the driver is setting BLK_BOUNCE_ANY.
Yes I noticed, which means you are not getting anything bounced and that
you will need to handle highmem mapping.
> >The block layer wil bounce any highmem pages before it reaches you. So
> >for a driver like this, I would recommend just forgetting the mapping
> >aspect.
>
> Okay, I agree highmem doesn't make any practical sense for this driver but
> I'm not really sure what it would gain. if !CONFIG_HIGHMEM the
> bvec_kmap_irq turns info "(page_address((bvec)->bv_page) +
> (bvec)->bv_offset)" directly anyway. I am a bit unsure about it all but
> it's not the case that we can then leave out the entire
> bio_for_each_segnment() loop is it?
The key is that you have to have interrupts disabled for the highmem
case, which may complicate your driver (or just make it perform worse,
from the system POV). If you let the block layer bounce, then you can
just use page_address() and don't worry about disabling interrupts. The
way I see it:
- Either you are using an ancient system with that drive, where you will
never see highmem.
- Or, it's a newer system and the nerd in you likes to play with ancient
CD-ROM drives. That box may have highmem, but it can also bounce
memory thousands of times faster than the mitsumi drive can dish out
the data.
IOW, you are always better off not supporting highmem for this driver.
The fact that it also simplifies the handling is a bonus.
> (generic kernels with HIGHMEM enabled are I guess an argument...)
Yeah, that is true.
> >I don't have time to review your driver right now, but I will applaud
> >your effort to write a maintenable mitsumi driver! Basically all the old
> >cdrom drivers are utter crap, so they are destined for removal.
>
> I noticed by the way there was a bit too much emphasis on the "I" in this
> message; it's in fact Pekka Enberg who started this and did the core stuff!
Well thanks to both of you, then :-)
> Yes ,the current legacy CD-ROM drivers really are complete crap by now.
> Once this mitsumi driver is in final shape it should serve as a nice
> template for the few other types that I'd like to keep supported and the
> rest can just go.
Fine with me... As far as I am concerned, you are now the legacy CD-ROM
driver maintainer :-)
--
Jens Axboe
next prev parent reply other threads:[~2007-05-08 13:52 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-08 9:42 New Mitsumi legacy CD-ROM driver Rene Herman
2007-05-08 9:44 ` Rene Herman
2007-05-08 10:35 ` Jens Axboe
2007-05-08 13:39 ` Rene Herman
2007-05-08 13:49 ` Jens Axboe [this message]
2007-05-08 13:57 ` Pekka J Enberg
2007-05-08 14:04 ` Jens Axboe
2007-05-08 14:20 ` Rene Herman
2007-05-10 15:54 ` Rene Herman
2007-05-08 13:53 ` Pekka Enberg
2007-05-08 13:53 ` Jens Axboe
2007-05-08 14:17 ` Rene Herman
2007-05-08 14:34 ` Pekka J Enberg
2007-05-08 14:27 ` Pekka Enberg
2007-05-08 20:13 ` Ondrej Zary
2007-05-08 21:12 ` Bob Tracy
2007-05-10 16:03 ` Rene Herman
2007-05-10 15:59 ` Rene Herman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070508134944.GO4163@kernel.dk \
--to=jens.axboe@oracle.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=penberg@cs.helsinki.fi \
--cc=rene.herman@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox