From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: Re: [RFC PATCH V4 11/18] Bump EVTCHNS_PER_BUCKET to 512 Date: Fri, 15 Mar 2013 18:15:22 +0000 Message-ID: <5143653A.7080406@citrix.com> References: <1362486640-14707-1-git-send-email-wei.liu2@citrix.com> <1362486640-14707-12-git-send-email-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1362486640-14707-12-git-send-email-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Wei Liu Cc: "Keir (Xen.org)" , Ian Campbell , "jbeulich@suse.com" , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org On 05/03/13 12:30, Wei Liu wrote: > For 64 bit build and 3-level event channel and the original value of > EVTCHNS_PER_BUCKET (128), the space needed to accommodate d->evtchn would be 4 > pages (PAGE_SIZE = 4096). Given that not every domain needs 3-level event > channel, this leads to waste of memory. Having EVTCHN_PER_BUCKETS to be 512 > can occupy exact one page. This makes the list of buckets a page in size but each bucket is now 4 pages. I think another layer of indirection is required to keep all the allocations <= PAGE_SIZE. David > Signed-off-by: Wei Liu > --- > xen/include/xen/event.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/xen/include/xen/event.h b/xen/include/xen/event.h > index 919f0e2..e2c3736 100644 > --- a/xen/include/xen/event.h > +++ b/xen/include/xen/event.h > @@ -39,7 +39,7 @@ static inline unsigned int max_evtchns(struct domain *d) > return ret; > } > > -#define EVTCHNS_PER_BUCKET 128 > +#define EVTCHNS_PER_BUCKET 512 > #define NR_EVTCHN_BUCKETS (NR_EVENT_CHANNELS / EVTCHNS_PER_BUCKET) > > struct evtchn