From: Cornelia Huck <cornelia.huck@de.ibm.com>
To: Tejun Heo <htejun@gmail.com>
Cc: Alan Stern <stern@rowland.harvard.edu>,
Kernel development list <linux-kernel@vger.kernel.org>
Subject: Re: Sysfs and suicidal attributes
Date: Tue, 10 Jul 2007 10:28:57 +0200 [thread overview]
Message-ID: <20070710102857.15a57337@gondolin.boeblingen.de.ibm.com> (raw)
In-Reply-To: <46931495.4050605@gmail.com>
On Tue, 10 Jul 2007 14:09:41 +0900,
Tejun Heo <htejun@gmail.com> wrote:
> > I haven't paid much attention to your sysfs updates. Is it still true
> > that calls to show/store methods are mutually exclusive with attribute
> > unregistration? Assuming the answer is Yes, would it be possible to
> > bypass that mutual exclusion in certain explicit cases? Here's what I
> > have in mind:
> >
> > The user writes to an attribute file.
> >
> > The sysfs core calls the attribute's store method.
> >
> > The method tells the sysfs core to pretend that the call
> > temporarily doesn't exist, or has completed, or something
> > like that.
> >
> > The method safely unregisters the attribute file, with no
> > mutual exclusion problems and no deadlock. Of course, the
> > unregistration will still block until all _other_ method
> > calls for this attribute are complete.
> >
> > The method tells the sysfs core to stop pretending and
> > go back to its normal state.
> >
> > The method returns, and the sysfs core takes whatever actions
> > are needed to fully release the attribute file.
> >
> > The idea is that there could be a way to allow unregistration while a
> > method is still running, if the method specifically requests it. If we
> > could do this then device_schedule_callback() would be unnecessary.
>
> Regardless of the suspend problem, I like the above idea. Actually, I
> was thinking about doing exactly that for suicidal nodes when I first
> found out the problem. All that's needed is an owner field which allows
> the owning thread to reenter (what was the name for this type of mutex?
> BSD folks like it). It's probably better to put some restrictions to
> allow only the specific case tho.
>
> I like it because it shifts complexity from the drivers into driver
> core. IOW, the driver model is kinder to drivers that way - the driver
> writer doesn't have to care whether something is suicidal or not - and I
> think that's the way we should be headed although we're not good at it yet.
It might be that I misunderstand the idea, but doesn't the device
driver writer need to consider whether the attribute is suicidal as
well? (If it is the method that needs to call the sysfs core.)
A general immediate disconnect of the buffers (which will be handled in
a second pass) would be great, but doesn't sound easy.
next prev parent reply other threads:[~2007-07-10 8:28 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-08 14:31 Alan Stern
2007-07-09 15:26 ` Cornelia Huck
2007-07-09 22:28 ` Alan Stern
2007-07-10 5:09 ` Tejun Heo
2007-07-10 8:28 ` Cornelia Huck [this message]
2007-07-10 8:49 ` Tejun Heo
2007-07-10 9:04 ` Cornelia Huck
2007-07-10 9:13 ` Tejun Heo
2007-07-10 10:50 ` Cornelia Huck
2007-07-10 14:42 ` Alan Stern
2007-07-10 14:41 ` Alan Stern
2007-07-10 15:11 ` Tejun Heo
2007-07-10 17:18 ` Alan Stern
2007-07-10 18:08 ` Tejun Heo
2007-07-10 19:31 ` Alan Stern
2007-07-11 5:04 ` Tejun Heo
2007-07-11 12:36 ` Cornelia Huck
2007-07-11 15:04 ` Alan Stern
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=20070710102857.15a57337@gondolin.boeblingen.de.ibm.com \
--to=cornelia.huck@de.ibm.com \
--cc=htejun@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
/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®