|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] xen-blkback unmap with network retansmission will cause a coredump
El 20/09/14 a les 12.57, Chentao(Boby) ha escrit:
> Hi konrad and roger,
>
> When xen-blkback module executes unmap operation, and at the same time
> the skb of network retansmission uses this map page, it will cause a crash of
> hostos.
> The crash stack of this problem is like below.
> <ffffffff8041133e>{do_page_fault+0x38e}
> <ffffffff8040d9e8>{page_fault+0x28}
> <ffffffff80223cdb>{memcpy+0xb}
> <ffffffff802325c2>{swiotlb_tbl_map_single+0x212}
> <ffffffff8023274a>{swiotlb_map_page+0x17a}
> <ffffffffa03468e6>{tg3:tg3_start_xmit+0x656}
> <ffffffff80354d14>{dev_hard_start_xmit+0x334}
> <ffffffff803721be>{sch_direct_xmit+0x1ae}
>
> I search website, found citrix engineers has met this problem long time
> ago. And I realized citrix engineers solve this problem according to modify
> kernel stack.
> Because this modification is very large, linux kernel community hasn't accept
> it until now. I have a immature thought, in dispatch_rw_block_io function, if
> this io
> is a write operation, we use grant copy hypercall instead of grant map
> hypercall. I verify my modification and it can solve this problem.
>
> What's your opinion of my modification? I am very looking forward to your
> reply. Any reply is appreciated.
Hello,
Yes, using grant-copy instead of grant-map is going to solve the
problem, but it also defeats the purpose of persistent grants. I'm
afraid it is going to introduce a noticeable performance penalty.
IMHO a better solution would be to use GNTTABOP_unmap_and_replace with
the scratch balloon page instead of GNTTABOP_unmap_grant_ref. See
arch/x86/xen/p2m.c m2p_remove_override for an example implementation of
this procedure.
Roger.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |