[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel][PV-ops][PATCH] Netback: Fix PV network issue for netback multiple threads patchset
On Mon, 2010-06-21 at 12:14 +0100, Jeremy Fitzhardinge wrote: > Subject: [PATCH] xen/netback: make sure all the group structures are > initialized before starting async code > > Split the netbk group array initialization into two phases: one to do > simple "can't fail" initialization of lists, timers, locks, etc; and a > second pass to allocate memory and start the async code. > > This makes sure that all the basic stuff is in place by the time the async > code > is running. Paul noticed a crash in netback init because... > @@ -1764,16 +1766,6 @@ static int __init netback_init(void) > netbk->netbk_tx_pending_timer.function = > netbk_tx_pending_timeout; > > - netbk->mmap_pages = > - alloc_empty_pages_and_pagevec(MAX_PENDING_REQS); > - if (!netbk->mmap_pages) { > - printk(KERN_ALERT "%s: out of memory\n", __func__); > - del_timer(&netbk->netbk_tx_pending_timer); > - del_timer(&netbk->net_timer); > - rc = -ENOMEM; > - goto failed_init; > - } > - > for (i = 0; i < MAX_PENDING_REQS; i++) { > page = netbk->mmap_pages[i]; > SetPageForeign(page, netif_page_release); ...this dereference of netbk->mmap_pages[i]... > @@ -1786,6 +1778,26 @@ static int __init netback_init(void) [...] > + netbk->mmap_pages = > + alloc_empty_pages_and_pagevec(MAX_PENDING_REQS); ... happens before this initialisation of the array. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |