All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kay Sievers <kay.sievers@vrfy.org>
To: linux-hotplug@vger.kernel.org
Subject: Re: about split the udev
Date: Thu, 22 Jan 2004 01:08:30 +0000	[thread overview]
Message-ID: <20040122010830.GA32256@vrfy.org> (raw)
In-Reply-To: <3ACA40606221794F80A5670F0AF15F8402D4EE96@PDSMSX403.ccr.corp.intel.com>

On Thu, Jan 22, 2004 at 01:27:45AM +0100, Kay Sievers wrote:
> On Wed, Jan 21, 2004 at 02:38:25PM +0100, Kay Sievers wrote:
> > On Thu, Jan 15, 2004 at 01:45:10PM -0800, Greg KH wrote:
> > > On Thu, Jan 15, 2004 at 10:36:25PM +0800, Ling, Xiaofeng wrote:
> > > > Hi, Greg
> > > >    I wrote a simple implementation for the two pieces 
> > > > of send and receive hotplug event, 
> > > > use a message queue and a list for the out of order
> > > >  hotplug event. It also has a timeout timer of 3 seconds.
> > > >  They are now separate program. the file nseq is the test script.
> > > >  Could you have a look to see wether it is feasible? 
> > > > If so, I'll continue to merge with udev.
> > > 
> > > Yes, very nice start.  Please continue on.
> > > 
> > > One minor comment, please stick with the kernel coding style when you
> > > are writing new code for udev.
> > 
> > I took the code from Xiaofeng, cleaned the whitespace, renamed some bits,
> > tweaked the debugging, added the udev exec and created a patch for the current tree.
> > 
> > It seems functional now, by simply executing our current udev (dirty hack).
> > It reorders the incoming events and if one is missing it delays the
> > execution of the following ones up to a maximum of 10 seconds.
> > 
> > Test script is included, but you can't mix hotplug sequence numbers and
> > test script numbers, it will result in waiting for the missing numbers :)
> 
> Hey, nobody want's to play with me?
> So here I'm chatting with myself :)
> 
> This is the next version with signal handling for resetting the expected
> signal number. I changed the behaviour of the timeout to skip all
> missing events at once and to proceed with the next event in the queue.
> 
> So it's now possible to use the test script at any time, cause it resets
> the daemon, if real hotplug event coming in later all missing nimbers will
> be skipped after a timeout of 10 seconds and the queued events are applied.


Here for the lazy one :)
Log from the test script which demonstrates the event reordering.
Event 5 is arriving before event 4, so 4 is queued until 5 is coming in,
then both are executed.
Events 8 and 9 are completely missing, so we wait for 10 seconds then go
ahead and exec the remaining events in the queue.

thanks,
Kay


   Jan 22 01:16:42 pim udev[17562]: dump_queue: next expected sequence 0

#in 1
   Jan 22 01:16:42 pim udev[17562]: process_queue: current sequence 1, expected sequence 0
#out 1
   Jan 22 01:16:42 pim udev[17562]: dump_msg: sequence 1, 'add', '/block/sda', 'block'
   Jan 22 01:16:42 pim udev[17562]: dump_queue: next expected sequence 2


#in 2
   Jan 22 01:16:42 pim udev[17562]: process_queue: current sequence 2, expected sequence 2
#out 2
   Jan 22 01:16:42 pim udev[17562]: dump_msg: sequence 2, 'add', '/block/sda', 'block'
   Jan 22 01:16:42 pim udev[17562]: dump_queue: next expected sequence 3


#in 3
   Jan 22 01:16:42 pim udev[17562]: process_queue: current sequence 3, expected sequence 3
#out 3
   Jan 22 01:16:42 pim udev[17562]: dump_msg: sequence 3, 'add', '/block/sda', 'block'
   Jan 22 01:16:42 pim udev[17562]: dump_queue: next expected sequence 4


#in 5
   Jan 22 01:16:42 pim udev[17562]: process_queue: current sequence 5, expected sequence 4
   Jan 22 01:16:42 pim udev[17562]: dump_queue: next expected sequence 4
#queue 5
   Jan 22 01:16:42 pim udev[17562]: dump_queue: queued sequence 5


#in 4
   Jan 22 01:16:42 pim udev[17562]: process_queue: current sequence 4, expected sequence 4
#out 4
   Jan 22 01:16:42 pim udev[17562]: dump_msg: sequence 4, 'add', '/block/sda', 'block'
   Jan 22 01:16:42 pim udev[17562]: dump_queue: next expected sequence 5
   Jan 22 01:16:42 pim udev[17562]: dump_queue: queued sequence 5 out queued 5
#out 5 (delayed)
   Jan 22 01:16:42 pim udev[17562]: dump_msg: sequence 5, 'add', '/block/sda', 'block'


#in 6
   Jan 22 01:16:42 pim udev[17562]: process_queue: current sequence 6, expected sequence 6
#out 6
   Jan 22 01:16:42 pim udev[17562]: dump_msg: sequence 6, 'add', '/block/sda', 'block'
   Jan 22 01:16:42 pim udev[17562]: dump_queue: next expected sequence 7


#in 7
   Jan 22 01:16:42 pim udev[17562]: process_queue: current sequence 7, expected sequence 7
#out 7
   Jan 22 01:16:42 pim udev[17562]: dump_msg: sequence 7, 'add', '/block/sda', 'block'
   Jan 22 01:16:42 pim udev[17562]: dump_queue: next expected sequence 8


#in 10
   Jan 22 01:16:42 pim udev[17562]: process_queue: current sequence 10, expected sequence 8
   Jan 22 01:16:42 pim udev[17562]: dump_queue: next expected sequence 8 queue 10
   Jan 22 01:16:42 pim udev[17562]: dump_queue: queued sequence 10


#in 11
   Jan 22 01:16:42 pim udev[17562]: process_queue: current sequence 11, expected sequence 8
   Jan 22 01:16:42 pim udev[17562]: dump_queue: next expected sequence 8 queue 11
   Jan 22 01:16:42 pim udev[17562]: dump_queue: queued sequence 10
   Jan 22 01:16:42 pim udev[17562]: dump_queue: queued sequence 11


#in 12
   Jan 22 01:16:42 pim udev[17562]: process_queue: current sequence 12, expected sequence 8
   Jan 22 01:16:42 pim udev[17562]: dump_queue: next expected sequence 8 queue 12
   Jan 22 01:16:42 pim udev[17562]: dump_queue: queued sequence 10
   Jan 22 01:16:42 pim udev[17562]: dump_queue: queued sequence 11
   Jan 22 01:16:42 pim udev[17562]: dump_queue: queued sequence 12


#in 13
   Jan 22 01:16:42 pim udev[17562]: process_queue: current sequence 13, expected sequence 8
   Jan 22 01:16:42 pim udev[17562]: dump_queue: next expected sequence 8 queue 13
   Jan 22 01:16:42 pim udev[17562]: dump_queue: queued sequence 10
   Jan 22 01:16:42 pim udev[17562]: dump_queue: queued sequence 11
   Jan 22 01:16:42 pim udev[17562]: dump_queue: queued sequence 12
   Jan 22 01:16:42 pim udev[17562]: dump_queue: queued sequence 13

#10 seconds timeout, skip missing events 8 and 9, proceed with queue
   Jan 22 01:16:52 pim udev[17562]: sig_alarmhandler: caught signal 14
   Jan 22 01:16:52 pim udev[17562]: sig_alarmhandler: timeout, event lost
   Jan 22 01:16:52 pim udev[17562]: process_queue: timeout reached, skip events 8 - 9
   Jan 22 01:16:52 pim udev[17562]: dump_queue: next expected sequence 10
   Jan 22 01:16:52 pim udev[17562]: dump_queue: queued sequence 10
   Jan 22 01:16:52 pim udev[17562]: dump_queue: queued sequence 11
   Jan 22 01:16:52 pim udev[17562]: dump_queue: queued sequence 12
   Jan 22 01:16:52 pim udev[17562]: dump_queue: queued sequence 13

#out 10 (delayed)
   Jan 22 01:16:52 pim udev[17562]: dump_msg: sequence 10, 'add', '/block/sda', 'block'
#out 11 (delayed)
   Jan 22 01:16:52 pim udev[17562]: dump_msg: sequence 11, 'add', '/block/sda', 'block'
#out 12 (delayed)
   Jan 22 01:16:52 pim udev[17562]: dump_msg: sequence 12, 'add', '/block/sda', 'block'
#out 13 (delayed)
   Jan 22 01:16:52 pim udev[17562]: dump_msg: sequence 13, 'add', '/block/sda', 'block'



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

  parent reply	other threads:[~2004-01-22  1:08 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-12  7:53 about split the udev Ling, Xiaofeng
2004-01-12  9:36 ` Martin Waitz
2004-01-12 13:54 ` Kay Sievers
2004-01-12 16:23 ` Martin Waitz
2004-01-12 16:28 ` Robert Love
2004-01-12 17:51 ` David Zeuthen
2004-01-13  1:12 ` Greg KH
2004-01-13  1:29 ` Greg KH
2004-01-13 19:05 ` Tristan Wibberley
2004-01-13 20:36 ` Greg KH
2004-01-15 14:36 ` Ling, Xiaofeng
2004-01-15 21:45 ` Greg KH
2004-01-21 13:38 ` Kay Sievers
2004-01-22  0:27 ` Kay Sievers
2004-01-22  1:08 ` Kay Sievers [this message]
2004-01-22 23:01 ` Kay Sievers
2004-01-23  0:34 ` Greg KH
2004-01-23  1:00 ` Kay Sievers
2004-01-23  3:37 ` Kay Sievers
2004-01-23  3:46 ` Greg KH
2004-01-23  3:58 ` Kay Sievers
2004-01-23  4:04 ` Greg KH
2004-01-24 16:06 ` Ling, Xiaofeng
2004-01-24 16:57 ` Kay Sievers

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=20040122010830.GA32256@vrfy.org \
    --to=kay.sievers@vrfy.org \
    --cc=linux-hotplug@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.