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

Re: [PATCH] xen: Put wait.c behind CONFIG_WAIT


  • To: Jan Beulich <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • From: Jason Andryuk <jason.andryuk@xxxxxxx>
  • Date: Thu, 12 Feb 2026 14:14:58 -0500
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=uIhwiN1mnZsoMOWzjxzVrKuppr/KaGrY9g/xEiB4DRA=; b=RXUXNcHPUFZIX7Ol0VdFEelcIWlhLQa3lGXg2DOTwQ31lFHuMVLz/CGl9sD3GG2qDX+OAEDC6iiUO89WeYE/Wr7V2K9OytNAf4akjJCKl/MASSoZ5XxlK/0T9T2wBcKM7KyQCU7XAnIgsyspiADvKYt6JhHSk0FV/lm4+8mHkiLNlaUHvpz3LX3r+WRzAQyf5f0lk3mREGMz5q6tDW953DU7t5SXO77LYHN44uc2YAP550ppWIj7AP+Do14PlAOfvBqrf3KIC1PKJghSGm7i8ASa+WeLfTV2CIEngx4oyDZCQwhSiFWlJ/E68Q6BBZYlEjPOVbVt9yb1teFyxJv3xg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hGpiEpHKSLjnyWaJ04yTdoy/XI8c0+Qk+4RxsJywTCY8+8cvzJDZCK5EdJZTaBEnKyG3vwcSKjaODEl2uD2x7fnw+QFOzWSgrvPnbZueTjIlujIvS9Ttfqlded53XFkJDJfvlAqeKUUMLalA8LP4eraDOvSX9R82b8ocapgYdZ8Ayp0T5EnINNYsqxtHo0FCMDW4Sw2irwCc0o/kldrtSqYxNlnJgplBNp+t5pwVTyZX2KeFKJiDUi0yJ/Jfdg9BT6OwcyAaa3mqpTzd8OpAh7t93HDcy4Nh/I+Ci/bGz4yhi/hfMCGaImu7J6qEM2VEOZLkjz0e4YlU2qmHA3ps4A==
  • Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, "Julien Grall" <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 12 Feb 2026 19:15:30 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 2026-02-12 02:38, Jan Beulich wrote:
On 11.02.2026 18:30, Andrew Cooper wrote:
On 11/02/2026 5:01 pm, Jason Andryuk wrote:
wait.c is only used by vm_event.c.  Make CONFIG_VM_EVENT select
CONFIG_WAIT, and use CONFIG_WAIT to control building it.

Provide stubs of functions called from common code.  entry.S needs an
ifdef to hide the symbol from the assembly.

Also conditionalize .waitqueue_vcpu in struct vcpu to save space.

Signed-off-by: Jason Andryuk <jason.andryuk@xxxxxxx>

I'd really rather see the API/ABI changes required to purge wait.c
entirely, but I guess this will do in the short term.

Two things want further thought.

First, because ARM uses per-vCPU stacks not per-pCPU stacks, it doesn't
need this infrastructure in the first place, but it looks like it's
still compiled in and half wired up.  I suppose you don't notice because
you compile out VM_EVENT on ARM too?

But if we want it compiled out altogether on Arm, ...

Second CONFIG_WAIT isn't great name because there are many things it
could be.  I'd be tempted to just reuse CONFIG_VM_EVENT and go without
CONFIG_WAIT.  I do not want to see any new users of wait.c, and it will
disappear at some point.

... don't we need a separate kconfig control, for it to be selected only
on x86 (or for it to be dependent on x86, and then imply-ed)? Imo
CONFIG_WAITQUEUE would be okay, as long as it won't have a prompt. We'd
then simply want to prevent further select-s / imply-s to appear.

ARM VM_EVENT=y won't link without wait.o.  Undefined references to:
wake_up_nr
prepare_to_wait
finish_wait
destroy_waitqueue_head
init_waitqueue_head

So I think that points to re-using my original patch, but with either CONFIG_WAITQUEUE or CONFIG_VM_EVENT. Since CONFIG_VM_EVENT is the only user, and we don't want further uses, I would use that. But I am open to either.

Regards,
Jason



 


Rackspace

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