[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC PATCH V2 13/14] Infrastructure for manipulating 3-level event channel pages
>>> On 28.01.13 at 18:21, Wei Liu <wei.liu2@xxxxxxxxxx> wrote: > On Mon, 2013-01-21 at 16:50 +0000, Jan Beulich wrote: >> >>> On 21.01.13 at 15:30, Wei Liu <wei.liu2@xxxxxxxxxx> wrote: >> > + evtchn_pending = xzalloc_array(xen_pfn_t, r.nr_pages); >> > + evtchn_mask = xzalloc_array(xen_pfn_t, r.nr_pages); >> > + l2sel_mfns = xzalloc_array(xen_pfn_t, r.nr_vcpus); >> > + l2sel_offsets = xzalloc_array(xen_pfn_t, r.nr_vcpus); >> >> While the former two are okay, the latter two aren't since >> this can easily amount to an allocation of more than a page. >> This needs to be broken up. >> > > Judging from the code, the underlying _xmalloc is able to handle > situation when allocation is more than a page, isn't it? Oh, yes, it is capable of doing so, and it is fine to call it that way at boot time. But any such allocation at run time is prone to fail just because of memory fragmentation (and they are particularly bad when tmem is active). We've gone through the code several times to eliminate such run time allocations, so I don't see us permitting you to re-introduce such. And you should, just for future consideration, also take note of xmalloc() allocations being inefficient for exact page size (or multiple thereof) allocations. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |