diff options
author | Tejun Heo <tj@kernel.org> | 2009-04-15 22:10:25 +0900 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2009-04-22 08:35:09 +0200 |
commit | cd0aca2d550f238d80ba58e7dcade4ea3d0a3aa7 (patch) | |
tree | 9581a77ce54247a18963c9d827063923a667add7 /block/bsg.c | |
parent | 25636e282fe95508cae96bb27f86407aef935817 (diff) |
block: fix queue bounce limit setting
Impact: don't set GFP_DMA in q->bounce_gfp unnecessarily
All DMA address limits are expressed in terms of the last addressable
unit (byte or page) instead of one plus that. However, when
determining bounce_gfp for 64bit machines in blk_queue_bounce_limit(),
it compares the specified limit against 0x100000000UL to determine
whether it's below 4G ending up falsely setting GFP_DMA in
q->bounce_gfp.
As DMA zone is very small on x86_64, this makes larger SG_IO transfers
very eager to trigger OOM killer. Fix it. While at it, rename the
parameter to @dma_mask for clarity and convert comment to proper
winged style.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'block/bsg.c')
0 files changed, 0 insertions, 0 deletions