All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: Ben Hutchings <bhutchings@solarflare.com>
Cc: netdev@vger.kernel.org, linux-net-drivers@solarflare.com
Subject: Re: [RFC] Running single tests via ethtool
Date: Mon, 02 Jun 2008 13:46:47 -0400	[thread overview]
Message-ID: <48443207.5090009@garzik.org> (raw)
In-Reply-To: <20080530220819.GJ1743@solarflare.com>

Ben Hutchings wrote:
> We have had a customer request to be able to run individual self-tests in
> a future version of our driver.  Now we could do this any way we want in
> an out-of-tree driver, but I'd rather find some way of doing this that
> will also be acceptable in-tree.  I think that would mean extending the
> ethtool self-test API in some way.
> 
> One possibility might be to add a new flag and to assign the reserved field
> as a test index:
> 
> --- a/include/linux/ethtool.h
> +++ b/include/linux/ethtool.h
> @@ -235,13 +235,14 @@ struct ethtool_gstrings {
>  enum ethtool_test_flags {
>  	ETH_TEST_FL_OFFLINE	= (1 << 0),	/* online / offline */
>  	ETH_TEST_FL_FAILED	= (1 << 1),	/* test passed / failed */
> +	ETH_TEST_FL_SINGLE	= (1 << 2),	/* run single test */
>  };
>  
>  /* for requesting NIC test and getting results*/
>  struct ethtool_test {
>  	__u32	cmd;		/* ETHTOOL_TEST */
>  	__u32	flags;		/* ETH_TEST_FL_xxx */
> -	__u32	reserved;
> +	__u32	index;		/* test index if ETH_TEST_FL_SINGLE */
>  	__u32	len;		/* result length, in number of u64 elements */
>  	__u64	data[0];
>  };
> 
> Clients would need to check len on return since the ethtool core and driver
> ethtool functions ignore unknown flags.  I am assuming that running all
> online self-tests instead of a single self-test will be harmless.
> 
> Ideally the ethtool core would allocate only the necessary memory for the
> results of the selected test set or single test, but it would need to know
> whether the driver also supports this extension.

Well it really becomes of question of whether or not you want to be 
importing a huge test suite into a kernel driver.  The ethtool stuff was 
not meant to cover exhaustive tests, just a way to run "it works" 
self-checks and diagnostics.

	Jeff





  parent reply	other threads:[~2008-06-02 17:46 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-30 22:08 [RFC] Running single tests via ethtool Ben Hutchings
2008-06-02 17:00 ` Ingo Oeser
2008-06-02 17:46 ` Jeff Garzik [this message]
2008-06-04 14:13   ` Ben Hutchings

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48443207.5090009@garzik.org \
    --to=jeff@garzik.org \
    --cc=bhutchings@solarflare.com \
    --cc=linux-net-drivers@solarflare.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.