[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




On 2014/9/22 18:11, David Vrabel wrote:
> On 20/09/14 11:57, Chentao(Boby) wrote:
>> 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}
> 
> What dom0 (backend) kernel are you using?  Which backend and what storage?
> 
The dom0 kernel is Suse11 sp3 3.0.93-0.8-xen. The backend is xen-blkback, 
storage is IPSAN.

>> 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.
> 
> Switching to grant copy will reduce performance significantly in many cases.
> 
> This was fixed for user space backends by replacing the foreign mapping
> with a mapping of a scratch page, when unmapping the grant.
> 
> Something similar should be done for kernel-only foreign mappings.  This
> requires a GNTOP_unmap_and_duplicate hypercall sub-op to allow efficient
> batching.
> 
> David
> .
> 
Thanks for your reply, David.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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