On Fri, Jul 19, 2013 at 01:53:08PM +0800, Xiong Zhang wrote: > Signed-off-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> > --- > lib/drmtest.c | 43 +++++++++++++++++++++++++++++++++++++++++++ > lib/drmtest.h | 3 +++ > 2 files changed, 46 insertions(+) > > diff --git a/lib/drmtest.c b/lib/drmtest.c > index 011d8c1..713c5ff 100644 > --- a/lib/drmtest.c > +++ b/lib/drmtest.c > @@ -1593,3 +1593,46 @@ void kmstest_free_connector_config(struct kmstest_connector_config *config) > drmModeFreeEncoder(config->encoder); > drmModeFreeConnector(config->connector); > } > + > +#define PREFAULT_DEBUGFS "/sys/module/i915/parameters/prefault_disable" > +static int drmtest_prefault_control(bool enable) > +{ > + char *name = PREFAULT_DEBUGFS; > + int fd; > + char buf[2] = {'Y', 'N'}; > + int index; > + int result = 0; > + > + fd = open(name, O_RDWR); > + if (fd == -1) { > + fprintf(stderr, "Couldn't open prefault_debugfs.%s\n", > + strerror(errno)); > + return -1; > + } > + > + if (enable) > + index = 1; > + else > + index = 0; > + > + if (write(fd, &buf[index], 1) != 1) { > + fprintf(stderr, "write prefault_debugfs error.%s\n", > + strerror(errno)); > + result = -1; > + } > + > + close(fd); > + > + return result; > +} > + > +int drmtest_disable_prefault(void) > +{ > + return drmtest_prefault_control(false); > +} If our test crashes this will leave prefaulting disable, potentially affecting future tests run before rebooting. To prevent such issues Imre has added exit handler code to make sure that we can undo such things. I think we should install an exit handler which calls drmtest_enable_prefault again. See drmtest_install_exit_handler. -Daniel > + > +int drmtest_enable_prefault(void) > +{ > + return drmtest_prefault_control(true); > +} > + > diff --git a/lib/drmtest.h b/lib/drmtest.h > index e3a9275..80b344c 100644 > --- a/lib/drmtest.h > +++ b/lib/drmtest.h > @@ -179,3 +179,6 @@ void drmtest_enable_exit_handler(void); > void drmtest_disable_exit_handler(void); > > int drmtest_set_vt_graphics_mode(void); > + > +int drmtest_disable_prefault(void); > +int drmtest_enable_prefault(void); > -- > 1.8.3.2 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx