[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH]: Better checking in range_straddles_page_boundary

On 22/10/08 10:05, "Chris Lalancette" <clalance@xxxxxxxxxx> wrote:

>     Attached is a simple patch to slightly rework the logic in
> range_straddles_page_boundary().  The reason for this is to avoid a crash we
> are
> seeing on 32-bit dom0.  Basically, the contiguous_bitmap is allocated based on
> max_low_pfn.  However, the swiotlb code can be passed a request (in
> swiotlb_map_sg) that is > 1 page (I've seen 2 pages), and is also a page
> (sg->page) > max_low_pfn.  If this combination happens, then you get a fatal
> page fault when doing the test_bit(pfn, contiguous_bitmap).  For that reason,
> rework the logic in range_straddles_page_boundary so that if it gets a request
> >
> 1 page, and it's above max_low_pfn, then we force the splitting of the
> request.
>  In our testing, this seems to fix the issue.

How about we just get rid of the contiguous_bitmap? We might as well if you
are going to push that check after calling
check_pages_physically_contiguous(), since no extent which is acceptable to
contiguous_bitmap should fail on check_pages_physically_contiguous(). I
think I kept contiguous_bitmap only as a fast check before calling that
slower function.

 -- Keir

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.