All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jes Sorensen <Jes.Sorensen@redhat.com>
To: Erik Arfvidson <earfvids@redhat.com>
Cc: benjamin.romer@unisys.com, netdev@vger.kernel.org,
	dzickus@redhat.com, davem@davemloft.net, Bruce.Vessey@unisys.com,
	sparmaintainer@unisys.com, prarit@redhat.com,
	Neil Horman <nhorman@redhat.com>
Subject: Re: [PATCH] net: unisys: adding unisys virtnic driver
Date: Fri, 09 Jan 2015 10:44:48 -0500	[thread overview]
Message-ID: <wrfjd26o2c27.fsf@redhat.com> (raw)
In-Reply-To: <1418842340-29894-1-git-send-email-earfvids@redhat.com> (Erik Arfvidson's message of "Wed, 17 Dec 2014 13:52:20 -0500")

Erik Arfvidson <earfvids@redhat.com> writes:
> The purpose of this patch is to add Unisys virtual network driver
> into the network directory and also to start a discussion about
> the requirements needed.
>
> Signed-off-by: Erik Arfvidson <earfvids@redhat.com>

Erik,

I was discussing this with colleagues and I want to give you some
general comments on this. My comments are not specific to virtnic.c
itself.

Looking over the logs of drivers/staging/unisys, I noticed a fair amount
of cleanups has been applied, but not a lot of fixes addressing what I
would consider the real issues.

The first thing you should work on is to get rid of
drivers/staging/unisys/uislib - it looks to provide a lot of wrappers
and utility functions which already exist. You need to address things
like:

 - Custom atomic primitives (uisqueue.c)
 - List handlers (use list.h) and all the utility functions we provide
 - Functions for launching killing kernel threads (uisthread)
 - There is most of a bus implementation in there - is this really
   needed, ie. are the devices sitting on a PCI bus, or is this some
   special bus type?
 - Use proper data types - your code should contain no 'long long' ever!
   If you need data types of a specific size, use u8/u16/u32/u64, and
   please get rid of broken Windows stuff such as BOOL and #pragma.
 - /proc handlers - you should most likely be using /sys
   (configs/debugfs) and don't wrap things in libraries, do it near the
   code using it.

Basically I recommend you start working your way through uislib, and
once you have eliminated 90% of it, you should be a lot closer to code
that can go into mainline.

I know my colleague Neil has some issues on this specific driver, which
I have less insight into, so I think he'll post some comments on that
too.

I hope this is helpful!

Cheers,
Jes

  parent reply	other threads:[~2015-01-09 15:44 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-17 18:52 [PATCH] net: unisys: adding unisys virtnic driver Erik Arfvidson
2014-12-22  8:32 ` zhuyj
2014-12-22 18:08   ` David Miller
2015-01-05 17:13   ` Kershner, David A
2015-01-09 15:44 ` Jes Sorensen [this message]
2015-01-09 16:13 ` Neil Horman

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=wrfjd26o2c27.fsf@redhat.com \
    --to=jes.sorensen@redhat.com \
    --cc=Bruce.Vessey@unisys.com \
    --cc=benjamin.romer@unisys.com \
    --cc=davem@davemloft.net \
    --cc=dzickus@redhat.com \
    --cc=earfvids@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@redhat.com \
    --cc=prarit@redhat.com \
    --cc=sparmaintainer@unisys.com \
    /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.