Messages in this thread | | | Date | Tue, 2 May 2006 07:28:50 +0200 | From | Jens Axboe <> | Subject | Re: splice(SPLICE_F_MOVE) problems |
| |
On Tue, May 02 2006, Oleg Nesterov wrote: > On 05/01, Jens Axboe wrote: > > > > > If readahead doesn't work, SPLICE_F_MOVE is problematic too. > > > add_to_page_cache_lru()->lru_cache_add() first increments > > > page->count and adds this page to lru_add_pvecs. This means > > > page_cache_pipe_buf_steal()->remove_mapping() will probably > > > fail. > > > > Because of the temporarily elevated page count? > > Yes. > > On the other hand, if readahead doesn't work we already have a > bigger problem, and SPLICE_F_MOVE is not garanteed, so I think > this is very minor.
Yes, clearly readahead has to work as expected. I haven't noticed any problems, even on half cached workloads. With your handle_ra_miss() addition and possibly killing the redundant !offset || nr_pages check, it should be fine.
-- 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/
| |