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_bin
bins[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