From: Mike Christie <michaelc@cs.wisc.edu>
To: Mike Christie <michaelc@cs.wisc.edu>
Cc: James.Smart@Emulex.Com, SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: Re: [RFC] Netlink and user-space buffer pointers
Date: Thu, 20 Apr 2006 16:41:52 -0500 [thread overview]
Message-ID: <44480020.3080100@cs.wisc.edu> (raw)
In-Reply-To: <4447F09D.9090501@cs.wisc.edu>
Mike Christie wrote:
>> Second: transport level i/o could be done like you suggest, and we've
>> prototyped some of this as well. However, there's something very wrong
>> about putting "block device" wrappers and settings around something that
>> is not a block device. In general, it's a heck of a lot of overhead and
>> still doesn't solve the real issue - how to portably pass that user
>> buffer
>
>
> I am not talking about putting block device wrappers. This the magic
> part and the message passing comes in. A while back I made the requuest
> queue a class (only sent the patch to Jens and did not follow up). The
> original reason was for the io sched swap and some multipath stuff, but
> since with then the request queue would need a block device to be
> exposed to userspace through sysfs and would not need a block device to
> send messages throgh. You just need a way to commniutate between
> userspace and the kernel but it does not have to be through a block
> device. I think this path has other benefits in that you could do
> userspace level scanning as well since you do not need the block device
> and ULD like we do today.
>
Again for a bad example look at the target code. The original idea was
to use the request_queue for messages because it did not work so well
for them to take target requests (we do not need the io scheduler for
example) to send request from the target interrupt handler to the netink
code. It was over kill becuase all we really want is a per cpu list, but
we used the request queue becuase it had the queue limits that we
needed. It was mean as temporary and I think tomo is working on
replacing that with a per process list and softirq. But the point is
that you can use the request queue to pass around requests and still use
netlink for the interface between the kernel and userspace.
next prev parent reply other threads:[~2006-04-20 21:42 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-17 20:44 [RFC] FC Transport : Async Events via netlink interface James Smart
2006-04-18 16:01 ` Mike Anderson
2006-04-19 12:52 ` James Smart
2006-04-19 12:57 ` [RFC] Netlink and user-space buffer pointers James Smart
2006-04-19 16:22 ` Patrick McHardy
2006-04-19 17:08 ` James Smart
2006-04-19 17:16 ` Patrick McHardy
2006-04-19 16:26 ` Stephen Hemminger
2006-04-19 17:05 ` James Smart
2006-04-19 21:32 ` Mike Christie
2006-04-20 14:33 ` James Smart
2006-04-20 17:45 ` Mike Christie
2006-04-20 17:52 ` Mike Christie
2006-04-20 17:58 ` Mike Christie
2006-04-20 20:03 ` James Smart
2006-04-20 20:35 ` Mike Christie
2006-04-20 20:40 ` Mike Christie
2006-04-20 21:41 ` Mike Christie [this message]
2006-04-20 21:51 ` Mike Christie
2006-04-20 23:07 ` Mike Christie
2006-04-20 23:44 ` Andrew Vasquez
2006-04-20 20:18 ` Douglas Gilbert
2006-04-19 14:59 ` [RFC] FC Transport : Async Events via netlink interface Matthew Wilcox
2006-04-19 16:11 ` James Smart
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=44480020.3080100@cs.wisc.edu \
--to=michaelc@cs.wisc.edu \
--cc=James.Smart@Emulex.Com \
--cc=linux-scsi@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;
as well as URLs for NNTP newsgroup(s).