Re: [PATCH v4 9/9] virtio-balloon: add workingset reporting
From: Yuanchu Xie
Date: Wed Nov 27 2024 - 18:38:56 EST
On Wed, Nov 27, 2024 at 3:15 PM Daniel Verkamp <dverkamp@xxxxxxxxxxxx> 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