On Fri, Aug 31 2007, Christoph Lameter wrote:They have nothing to do with each other, you are mixing things up. It has nothing to do with the device being able to dma into that memory or not, we have fine existing infrastructure to handle that. But different hardware have different characteristics on what a single segment is. You can say "a single segment cannot cross a 32kb boundary". So from the example above, your single 64k page may need to be split into two segments. Or it could have a maximum segment size of 32k, in which case it would have to be split as well. Do you see what I mean now? But we do not split them up today - see what I wrote! Today we impose the restriction that a device must be able to handle a single "normal" page, and if it can't do that, it has to split it up itself. But yes, you would have to create some out-of-line function to use bio_split() until you have chopped things down enough. It's not a good thing for performance naturally, but if we consider this a "just make it work" fallback, I don't think it's too bad. You want to make a note of that it is happening though, so people realize that it is happening. OK, since it goes direct to bio anyway, it can be handled there. -- Jens Axboe -
| Jon Smirl | 463 kernel developers missing! |
| Nigel Cunningham | Re: [PATCH] Remove process freezer from suspend to RAM pathway |
| Greg KH | Re: [malware-list] [RFC 0/5] [TALPA] Intro to a linux interface for on access scan... |
| Jeff Garzik | Re: Linux 2.6.23-rc9 and a heads-up for the 2.6.24 series.. |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Linus Torvalds | Re: [GIT]: Networking |
| Evgeniy Polyakov | Re: [BUG] New Kernel Bugs |
