mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Kyle Moffett <mrmacman_g4@mac.com>
To: Michael_E_Brown@Dell.com
Cc: linux-kernel@vger.kernel.org, Douglas_Warzecha@Dell.com,
	Matt_Domsch@Dell.com
Subject: Re: [RFC][PATCH 2.6.13-rc6] add Dell Systems Management Base Driver (dcdbas) with sysfs support
Date: Mon, 15 Aug 2005 21:29:23 -0400	[thread overview]
Message-ID: <DEFA2736-585A-4F84-9262-C3EB53E8E2A0@mac.com> (raw)
In-Reply-To: <4277B1B44843BA48B0173B5B0A0DED4352817E@ausx3mps301.aus.amer.dell.com>

On Aug 15, 2005, at 18:58:56, Michael_E_Brown@Dell.com wrote:
>> Why can't you just implement the system management actions in
>> the kernel driver?  This is tantamount to a binary SMI hook to
>> userspace.  What functionality does this provide on a dell
>> system from an administrator's point of view?
>
> Kyle,
>     I'm sure that not everybody agrees with the whole concept of SMI
> calls. Nevertheless, these calls exist, and in order to have a  
> complete
> systems-management solution, we have to provide a way to do SMI calls.
> Now, we have developed a way to do these SMI calls from userspace
> without kernel support, but we are trying to be community-friendly and
> show our hooks in the open, rather than trying to sneak them in under
> the covers.


>     You might not like the concept of a generic hook for SMI calls
> in the kernel, but the alternatives are hardly better. One alternative
> is the already-mentioned method that we do things under the covers in
> userspace. Another alternative is that we write separate kernel code
> for each and every SMI call that exists in the Dell BIOS.

>     The second alternative is not entirely feasible. We have over 60
> SMI functions, and we would have to write a kernel-mode wrapper for
> each and every one. I hope you agree that code that doesn't exist is
> less buggy than code that is, and that code that is in userspace is a
> whole lot less likely to cause a kernel crash than code that is in
> the kernel.

I think the second alternative is actually feasible and preferable. The
point of the kernel is to provide safe and secure access to two things:
   1) Hardware through an abstraction layer
   2) Software services (like IP stack) that are not feasible to do in
      userspace.

A system that just provides a hunk of DMA RAM and the ability to  
generate
interrupts is definitely not 2, and does not really follow the ideal
behind 1 either.  I gave the firmware example earlier.  There are  
several
devices that provide access to update firmware by reading and writing a
firmware file directly in sysfs, then updating it on reboot if  
necessary.

>  We are trying to keep our kernel bloat down. We don't really think  
> that
> customers of IBM or HP really want their Red Hat kernels loaded  
> down with
> a bunch of Dell-only code.

That's what kconfig is for.  My G4 Powerbook doesn't have support for
hardware found in my G4 desktop any more than an IBM box should be  
forced
to have support for Dell hardware, yet all platforms work fine from the
same kernel tree.

>     Additionally, we are releasing an open source library (GPL/OSL
> dual  license) that can use these hooks to perform many systems
> management functions in userspace. See
> http://linux.dell.com/libsmbios/main/. We should have code in  
> libsmbios to
> do SMI using this driver within about two weeks.  We currently  
> writing the
> SMI hooks in libsmbios using this posted version of the driver. I  
> am the
> maintainer of this project, and it is my goal to have code in  
> libsmbios
> for every Dell SMI call.

That's a nice project.  I applaud Dell for it's openness, but that's  
not the
only issue here, the kernel needs good engineering too.

I would suggest that you try to implement as much as is possible in a  
kernel
driver.  Firmware loading support, for example, or hardware sensors,  
should
integrate well into sysfs and be accessible through existing tools if
possible.  Doug also mentions fan status and control in his mail.   
Could you
provide such access through existing fan status/control interfaces so  
that
existing tools work as well?

>     We would welcome feedback on a better way to implement this
> driver in the kernel, but the fact remains that we have to have a  
> way to do
> this, and we are open-sourcing all of the code necessary to get  
> this done.

Thank you for your effort.  You guys have made significant progress,  
but IMHO,
you've still got a ways to go.  Keep up the good work, though!

Cheers,
Kyle Moffett

--
Unix was not designed to stop people from doing stupid things,  
because that
would also stop them from doing clever things.
   -- Doug Gwyn



  reply	other threads:[~2005-08-16  1:29 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-15 22:58 Michael_E_Brown
2005-08-16  1:29 ` Kyle Moffett [this message]
2005-08-16  3:10   ` Michael E Brown
2005-08-16  5:59     ` Nathan Lutchansky
2005-08-16  8:16     ` Greg KH
2005-08-16 13:34       ` Michael E Brown
2005-08-16 20:31         ` Pavel Machek
2005-08-16 20:37         ` Greg KH
2005-08-16 23:11           ` Michael_E_Brown
2005-08-16 23:23             ` Greg KH
     [not found] <4277B1B44843BA48B0173B5B0A0DED4352817E@ausx3mps301.aus.amer.dell.com.suse.lists.linux.kernel>
     [not found] ` <DEFA2736-585A-4F84-9262-C3EB53E8E2A0@mac.com.suse.lists.linux.kernel>
     [not found]   ` <1124161828.10755.87.camel@soltek.michaels-house.net.suse.lists.linux.kernel>
     [not found]     ` <20050816081622.GA22625@kroah.com.suse.lists.linux.kernel>
     [not found]       ` <1124199265.10755.310.camel@soltek.michaels-house.net.suse.lists.linux.kernel>
     [not found]         ` <20050816203706.GA27198@kroah.com.suse.lists.linux.kernel>
     [not found]           ` <4277B1B44843BA48B0173B5B0A0DED43528192@ausx3mps301.aus.amer.dell.com.suse.lists.linux.kernel>
2005-08-17  0:23             ` Andi Kleen
2005-08-17  0:41               ` Michael E Brown
  -- strict thread matches above, loose matches on Subject: below --
2005-08-16 23:47 Michael_E_Brown
2005-08-17  5:33 ` Matt Domsch
2005-08-17  7:32   ` Kyle Moffett
2005-08-16  5:19 Michael E Brown
2005-08-16  5:35 ` Chris Wedgwood
2005-08-16  5:50   ` Michael E Brown
2005-08-16  4:58 Michael E Brown
2005-08-16  5:36 ` Valdis.Kletnieks
2005-08-16  6:10   ` Michael E Brown
2005-08-16  6:45     ` Valdis.Kletnieks
2005-08-16 12:15   ` Andrey Panin
2005-08-16  4:09 Michael E Brown
2005-08-16  5:17 ` Valdis.Kletnieks
2005-08-16  5:30   ` Michael E Brown
2005-08-15 20:05 Doug Warzecha
2005-08-15 20:23 ` Kyle Moffett
2005-08-15 23:38   ` Doug Warzecha
2005-08-16  1:44     ` Kyle Moffett
2005-08-16  2:43     ` Valdis.Kletnieks
2005-08-16  4:34   ` Chris Wedgwood
2005-08-16  4:55     ` Kyle Moffett
2005-08-16  5:14       ` Chris Wedgwood
2005-08-16  5:52 ` Greg KH
2005-08-17  0:02   ` Doug Warzecha

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=DEFA2736-585A-4F84-9262-C3EB53E8E2A0@mac.com \
    --to=mrmacman_g4@mac.com \
    --cc=Douglas_Warzecha@Dell.com \
    --cc=Matt_Domsch@Dell.com \
    --cc=Michael_E_Brown@Dell.com \
    --cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®