On Wed, Nov 27, 2024 at 3:15 PM Daniel Verkamp dverkamp@chromium.org wrote:
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 - SUCH DAMAGE. */
 +#include "linux/workingset_report.h" #include <linux/types.h> #include <linux/virtio_types.h> #include <linux/virtio_ids.h>
This seems to be including a non-uapi header (include/linux/workingset_report.h) from a uapi header (include/uapi/linux/virtio_balloon.h), which won't compile outside the kernel. Does anything in the uapi actually need declarations from workingset_report.h?
Good point. I should move the relevant constants over.
+struct virtio_balloon_working_set_notify {
/* REQUEST or CONFIG */__le16 op;__le16 node_id;/* the following fields valid iff op=CONFIG */__le32 report_threshold;__le32 refresh_interval;__le32 idle_age[WORKINGSET_REPORT_MAX_NR_BINS];+};
+struct virtio_balloon_working_set_report_bin {
__le64 idle_age;/* bytes in this bucket for anon and file */__le64 anon_bytes;__le64 file_bytes;+};
+struct virtio_balloon_working_set_report {
__le32 error;__le32 node_id;struct virtio_balloon_working_set_report_binbins[WORKINGSET_REPORT_MAX_NR_BINS];+};
#endif /* _LINUX_VIRTIO_BALLOON_H */
Have the spec changes been discussed in the virtio TC?
They have not. Thanks for bringing this up. I'll post in the VIRTIO TC.
Thanks, Yuanchu