Lines Matching defs:dm

585 static void post_status(struct hv_dynmem_device *dm);
1000 struct hv_dynmem_device *dm = &dm_device;
1007 pg_start = dm->ha_wrk.ha_page_range.finfo.start_page;
1008 pfn_cnt = dm->ha_wrk.ha_page_range.finfo.page_cnt;
1010 rg_start = dm->ha_wrk.ha_region_range.finfo.start_page;
1011 rg_sz = dm->ha_wrk.ha_region_range.finfo.page_cnt;
1013 if ((rg_start == 0) && (!dm->host_specified_ha_region)) {
1038 dm->num_pages_added += resp.page_count;
1070 dm->state = DM_INITIALIZED;
1072 vmbus_sendpacket(dm->dev->channel, &resp,
1078 static void process_info(struct hv_dynmem_device *dm, struct dm_info_msg *msg)
1091 dm->max_dynamic_page_count = *max_page_count;
1134 static unsigned long get_pages_committed(struct hv_dynmem_device *dm)
1137 dm->num_pages_ballooned +
1138 (dm->num_pages_added > dm->num_pages_onlined ?
1139 dm->num_pages_added - dm->num_pages_onlined : 0) +
1153 static void post_status(struct hv_dynmem_device *dm)
1184 num_pages_committed = get_pages_committed(dm);
1187 vm_memory_committed(), dm->num_pages_ballooned,
1188 dm->num_pages_added, dm->num_pages_onlined);
1210 vmbus_sendpacket(dm->dev->channel, &status,
1217 static void free_balloon_pages(struct hv_dynmem_device *dm,
1229 dm->num_pages_ballooned--;
1236 static unsigned int alloc_balloon_pages(struct hv_dynmem_device *dm,
1260 dm->num_pages_ballooned += alloc_unit;
1377 static void balloon_down(struct hv_dynmem_device *dm,
1384 unsigned int prev_pages_ballooned = dm->num_pages_ballooned;
1387 free_balloon_pages(dm, &range_array[i]);
1392 prev_pages_ballooned - dm->num_pages_ballooned);
1407 dm->state = DM_INITIALIZED;
1414 struct hv_dynmem_device *dm = dm_dev;
1424 post_status(dm);
1443 static void version_resp(struct hv_dynmem_device *dm,
1455 complete(&dm->host_event);
1465 if (dm->next_version == 0)
1472 version_req.version.version = dm->next_version;
1473 dm->version = version_req.version.version;
1481 dm->next_version = DYNMEM_PROTOCOL_VERSION_WIN7;
1485 dm->next_version = 0;
1489 ret = vmbus_sendpacket(dm->dev->channel, &version_req,
1500 dm->state = DM_INIT_ERROR;
1501 complete(&dm->host_event);
1504 static void cap_resp(struct hv_dynmem_device *dm,
1509 dm->state = DM_INIT_ERROR;
1511 complete(&dm->host_event);
1521 struct hv_dynmem_device *dm = hv_get_drvdata(dev);
1537 version_resp(dm,
1542 cap_resp(dm,
1552 if (dm->state == DM_BALLOON_UP)
1555 dm->state = DM_BALLOON_UP;
1566 dm->state = DM_BALLOON_DOWN;
1567 balloon_down(dm,
1572 if (dm->state == DM_HOT_ADD)
1574 dm->state = DM_HOT_ADD;
1581 dm->host_specified_ha_region = false;
1583 dm->ha_wrk.ha_page_range = *ha_pg_range;
1584 dm->ha_wrk.ha_region_range.page_range = 0;
1591 dm->host_specified_ha_region = true;
1594 dm->ha_wrk.ha_page_range = *ha_pg_range;
1595 dm->ha_wrk.ha_region_range = *ha_region;
1601 process_info(dm, (struct dm_info_msg *)dm_msg);
1890 struct hv_dynmem_device *dm = f->private;
1894 DYNMEM_MAJOR_VERSION(dm->version),
1895 DYNMEM_MINOR_VERSION(dm->version));
1906 seq_printf(f, "%-22s: %u", "state", dm->state);
1907 switch (dm->state) {
1935 seq_printf(f, "%-22s: %u\n", "pages_added", dm->num_pages_added);
1938 seq_printf(f, "%-22s: %u\n", "pages_onlined", dm->num_pages_onlined);
1941 seq_printf(f, "%-22s: %u\n", "pages_ballooned", dm->num_pages_ballooned);
1944 get_pages_committed(dm));
1947 dm->max_dynamic_page_count);
2043 struct hv_dynmem_device *dm = hv_get_drvdata(dev);
2047 if (dm->num_pages_ballooned != 0)
2048 pr_warn("Ballooned pages: %d\n", dm->num_pages_ballooned);
2050 hv_balloon_debugfs_exit(dm);
2052 cancel_work_sync(&dm->balloon_wrk.wrk);
2053 cancel_work_sync(&dm->ha_wrk.wrk);
2055 kthread_stop(dm->thread);
2072 list_for_each_entry_safe(has, tmp, &dm->ha_region_list, list) {
2084 struct hv_dynmem_device *dm = hv_get_drvdata(hv_dev);
2088 cancel_work_sync(&dm->balloon_wrk.wrk);
2089 cancel_work_sync(&dm->ha_wrk.wrk);
2091 if (dm->thread) {
2092 kthread_stop(dm->thread);
2093 dm->thread = NULL;