*
* You should have received a copy of the GNU General Public License
* version 2 along with this program; If not, see
- * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
+ * http://www.gnu.org/licenses/gpl-2.0.html
*
* GPL HEADER END
*/
* Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*
- * Copyright (c) 2012, Intel Corporation.
+ * Copyright (c) 2012, 2015, Intel Corporation.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
struct cfs_wi_sched **lst_sched_test;
static void
-lnet_selftest_fini(void)
+lnet_selftest_exit(void)
{
int i;
switch (lst_init_step) {
-#ifdef __KERNEL__
case LST_INIT_CONSOLE:
lstcon_console_fini();
-#endif
case LST_INIT_FW:
sfw_shutdown();
case LST_INIT_RPC:
void
lnet_selftest_structure_assertion(void)
{
- CLASSERT(sizeof(srpc_msg_t) == 160);
- CLASSERT(sizeof(srpc_test_reqst_t) == 70);
- CLASSERT(offsetof(srpc_msg_t, msg_body.tes_reqst.tsr_concur) == 72);
- CLASSERT(offsetof(srpc_msg_t, msg_body.tes_reqst.tsr_ndest) == 78);
- CLASSERT(sizeof(srpc_stat_reply_t) == 136);
- CLASSERT(sizeof(srpc_stat_reqst_t) == 28);
+ CLASSERT(sizeof(struct srpc_msg) == 160);
+ CLASSERT(sizeof(struct srpc_test_reqst) == 70);
+ CLASSERT(offsetof(struct srpc_msg, msg_body.tes_reqst.tsr_concur) == 72);
+ CLASSERT(offsetof(struct srpc_msg, msg_body.tes_reqst.tsr_ndest) == 78);
+ CLASSERT(sizeof(struct srpc_stat_reply) == 136);
+ CLASSERT(sizeof(struct srpc_stat_reqst) == 28);
+
}
-static int
+static int __init
lnet_selftest_init(void)
{
int nscheds;
rc = cfs_wi_sched_create("lst_t", lnet_cpt_table(), i,
nthrs, &lst_sched_test[i]);
if (rc != 0) {
- CERROR("Failed to create CPT affinity WI scheduler "
- "%d for LST\n", i);
+ CERROR("Failed to create CPU partition affinity WI "
+ "scheduler %d for LST\n", i);
goto error;
}
}
}
lst_init_step = LST_INIT_FW;
-#ifdef __KERNEL__
rc = lstcon_console_init();
if (rc != 0) {
CERROR("LST can't startup console\n");
goto error;
}
lst_init_step = LST_INIT_CONSOLE;
-#endif
return 0;
error:
- lnet_selftest_fini();
+ lnet_selftest_exit();
return rc;
}
-#ifdef __KERNEL__
-
+MODULE_AUTHOR("OpenSFS, Inc. <http://www.lustre.org/>");
MODULE_DESCRIPTION("LNet Selftest");
+MODULE_VERSION("2.8.0");
MODULE_LICENSE("GPL");
-cfs_module(lnet, "0.9.0", lnet_selftest_init, lnet_selftest_fini);
-
-#else
-
-int
-selftest_wait_events (void)
-{
- int evts = 0;
-
- for (;;) {
- /* Consume all pending events */
- while (srpc_check_event(0))
- evts++;
- evts += stt_check_events();
- evts += swi_check_events();
- if (evts != 0) break;
-
- /* Nothing happened, block for events */
- evts += srpc_check_event(stt_poll_interval());
- /* We may have blocked, check for expired timers */
- evts += stt_check_events();
- if (evts == 0) /* timed out and still no event */
- break;
- }
-
- return evts;
-}
-
-#endif
+module_init(lnet_selftest_init);
+module_exit(lnet_selftest_exit);