linux/drivers/input/misc
Chang Huaixin 4d544e3bdb Input: xen-kbdfront - free grant table entry in xenkbd_disconnect_backend
xenkbd_disconnect_backend doesn't free grant table entry.  This bug affects
live migration.

xenkbd_disconnect_backend uses gnttab_end_foreign_access_ref to handle
grant table entry which doesn't really free an entry.

Thus every time we do xenkbd_resume, grant table entry increses by one. As
an grant table entry occupies 8 bytes, an grant table page has at most 512
entries. Every 512 times we do xenkdb_resume, grant table pages increses by
one.

After around 3500 times of live migration, grant table pages will increase
by 7, causing too many pages to populate and hitting max_pages limit when
assigning pages.Thus assign_pages will fail, so will live migration.

Signed-off-by: Chang Huaixin <huaixin.chx@alibaba-inc.com>
Acked-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-10-16 13:37:57 -07:00
..
88pm80x_onkey.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
88pm860x_onkey.c Input: 88pm860x_onkey - switch to using managed resources 2014-05-29 00:26:34 -07:00
ab8500-ponkey.c Input: ab8500-ponkey - switch to using managed resources 2014-05-29 00:26:36 -07:00
ad714x-i2c.c Input: ad714x - add CONFIG_PM_SLEEP to suspend/resume functions 2013-03-26 22:09:55 -07:00
ad714x-spi.c Input: ad714x-spi - remove redundant spi_set_drvdata 2013-09-20 09:58:24 -07:00
ad714x.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
ad714x.h Input: ad714x - read the interrupt status registers in a row 2011-08-22 09:59:26 -07:00
adxl34x-i2c.c Input: adxl34x - add CONFIG_PM_SLEEP to suspend/resume functions 2013-03-26 22:09:51 -07:00
adxl34x-spi.c Input: adxl34x - use spi_get_drvdata() 2013-04-07 21:02:29 -07:00
adxl34x.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
adxl34x.h
apanel.c
arizona-haptics.c ASoC: dapm: Add locking to snd_soc_dapm_xxxx_pin functions 2014-02-20 18:40:07 +09:00
ati_remote2.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-01-10 10:55:52 -08:00
atlas_btns.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-01-24 17:17:30 -08:00
bfin_rotary.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
bma150.c Input: bma150 - extend chip detection for bma180 2014-04-24 23:53:10 -07:00
cm109.c Input: cm109 - convert high volume dev_err() to dev_err_ratelimited() 2013-10-06 01:23:41 -07:00
cma3000_d0x_i2c.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
cma3000_d0x.c Input: use dev_get_platdata() 2013-12-06 02:06:29 -08:00
cma3000_d0x.h
cobalt_btns.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
da9052_onkey.c Input: da9052_onkey - use correct register bit for key status 2014-03-26 13:33:09 -07:00
da9055_onkey.c Input: da9055_onkey - remove use of regmap_irq_get_virq() 2014-04-19 13:55:41 -07:00
dm355evm_keys.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
drv260x.c Input: drv260x - add check for ERM mode and LRA Libraries 2014-08-26 15:42:03 -07:00
drv2667.c Input: add support for the DRV2667 haptic driver 2014-09-08 16:16:23 -07:00
gp2ap002a00f.c Input: use dev_get_platdata() 2013-12-06 02:06:29 -08:00
gpio_tilt_polled.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
gpio-beeper.c Input: gpio-beeper - make of_device_id array const 2014-05-14 16:39:55 -07:00
hp_sdc_rtc.c Input: hp_sdc_rtc - unlock on error in hp_sdc_rtc_read_i8042timer() 2013-11-20 21:15:31 -08:00
ideapad_slidebar.c Input: add driver for slidebar on Lenovo IdeaPad laptops 2013-08-26 09:30:03 -07:00
ims-pcu.c Input: ims-pcu - fix uninitialized use of 'error' in ims_pcu_buffers_alloc() 2014-05-18 22:39:56 -07:00
ixp4xx-beeper.c input: ixp4xx-beeper: don't use symbols from <mach/timex.h> 2013-12-20 11:44:21 +01:00
Kconfig Input: add haptic driver on max77693 2014-09-11 23:40:28 -07:00
keyspan_remote.c Input: keyspan_remote - remove unnecessary break after goto 2014-07-18 10:53:27 -07:00
kxtj9.c Input: use dev_get_platdata() 2013-12-06 02:06:29 -08:00
m68kspkr.c Input: m68kspkr - remove redundant platform_set_drvdata() 2013-05-28 00:57:41 -07:00
Makefile Input: add haptic driver on max77693 2014-09-11 23:40:28 -07:00
max8925_onkey.c Input: max8925_onkey - switch to using managed resources 2014-05-29 00:26:35 -07:00
max8997_haptic.c Input: max8997_haptic - add error handling for regulator and pwm 2014-06-07 23:20:24 -07:00
max77693-haptic.c Input: add haptic driver on max77693 2014-09-11 23:40:28 -07:00
mc13783-pwrbutton.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
mma8450.c Input: mma8450 - add missing i2c_set_clientdata() in mma8450_probe() 2013-11-11 00:01:44 -08:00
mpu3050.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
palmas-pwrbutton.c Input: palmas-pwrbutton - fix typo in the license string 2014-09-15 14:36:12 -07:00
pcap_keys.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
pcf8574_keypad.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
pcf50633-input.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
pcspkr.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
pm8xxx-vibrator.c Input: pm8xxx-vibrator - add DT match table 2014-03-30 13:25:20 -07:00
pmic8xxx-pwrkey.c Input: pmic8xxx-pwrkey - set sane default for debounce time 2014-05-14 16:40:08 -07:00
powermate.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
pwm-beeper.c Input: use dev_get_platdata() 2013-12-06 02:06:29 -08:00
rb532_button.c Input: rb532_button - remove redundant dev_set_drvdata 2013-09-18 07:53:41 -07:00
retu-pwrbutton.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
rotary_encoder.c Input: rotary_encoder - make of_device_id array const 2014-05-14 16:39:56 -07:00
sgi_btns.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
sirfsoc-onkey.c Input: sirfsoc-onkey - fix GPL v2 license string typo 2014-07-18 10:19:42 -07:00
soc_button_array.c Input: soc_button_array - convert to platform bus 2014-09-24 16:27:24 -07:00
sparcspkr.c sparcspkr: use sbus_*() primitives for IO 2014-07-21 21:43:18 -07:00
twl4030-pwrbutton.c Input: twl4030-pwrbutton - simplify driver using devm_* 2013-11-25 18:28:10 -08:00
twl4030-vibra.c Input: twl4030-vibra - add missing of_node_put 2014-01-04 00:47:36 -08:00
twl6040-vibra.c Input: twl6040-vibra - use devm functions 2014-05-14 16:39:47 -07:00
uinput.c Input: uinput - add UI_GET_VERSION ioctl 2014-07-21 14:30:42 -07:00
wistron_btns.c Input: wistron_btns - add FS AMILO Pro 8210 support 2014-01-27 22:34:42 -08:00
wm831x-on.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
xen-kbdfront.c Input: xen-kbdfront - free grant table entry in xenkbd_disconnect_backend 2014-10-16 13:37:57 -07:00
yealink.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
yealink.h