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

Re: [Xen-devel] [PATCHv5 12/14] xen-blkback: safely unmap grants in case they are still in use



On 03/09/2015 07:22 PM, Roger Pau Monné wrote:
> El 09/03/15 a les 12.02, David Vrabel ha escrit:
>> On 09/03/15 10:51, Bob Liu wrote:
>>>
>>> On 03/09/2015 05:30 PM, David Vrabel wrote:
>>>> On 09/03/15 09:09, Bob Liu wrote:
>>>>> Hi David,
>>>>>
>>>>> Recently I met an issue which is likely related with this patch. It
>>>>> happened when running block benchmark on domU, the backend was an iSCSI
>>>>> disk connected to dom0. I got below panic at put_page_testzero() on
>>>>> dom0, at that time the ixgbe network card was freeing skb pages in
>>>>> __skb_frag_unref() but the page->_count was already 0.
>>>>> Do you think is it possiable that page was already freed by blkback?
>>>>
>>>> It's possible, but in this case I think the blkback device must have
>>>> been destroyed for this to have happened,  because blkback doesn't free
>>>> the pages until it is destroyed.
>>>>
>>>
>>> Sorry, I didn't get the point here, doesn't bio_complete free pages?
>>> E.g.
>>> __end_block_io_op() > xen_blkbk_unmap_and_respond() > put_free_pages()
>>> Then shrink_free_pagepool() free the page finally.
>>
>> Ug. That's all the persistent grant stuff I'm not very familiar with.
>> Perhaps Roger can comment?
> 
> This is the cache of ballooned-out pages that's used to map grants, it's
> not directly related to persistent grants. From time to time the buffer
> of ballooned-out pages is checked and maybe some of them are freed if
> the amount is too high, but at that point the grant has already been
> unmapped, so it would fail anyway if someone tried to access that page.
> 
>>
>>> I'm worry about there may be race condition some place and caused this
>>> panic, but it's hard to locate. It may exist in xen-blkback/grant or
>>> even the ixgbe network driver itself.
>>
>> Actually, freeing the page in blkback early shouldn't cause this sort of
>> thing anyway, since the skb should hold additional refs to the pages.
> 
> Yes. Blkback only unmaps the page when the bio is done, so the problem
> might be that the network driver marks the bio as done and tries to
> access it later?
> 

Okay, I'll look at the network card driver.
Thank for all your help!

-- 
Regards,
-Bob

_______________________________________________
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®.