public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: "Jörn Engel" <joern@wohnheim.fh-wedel.de>
To: "Artem B. Bityuckiy" <dedekind@infradead.org>
Cc: MTD List <linux-mtd@lists.infradead.org>
Subject: Re: JFFS3 & performance
Date: Tue, 25 Jan 2005 11:51:40 +0100	[thread overview]
Message-ID: <20050125105140.GC29797@wohnheim.fh-wedel.de> (raw)
In-Reply-To: <Pine.LNX.4.58.0501211354110.20298@phoenix.infradead.org>

On Fri, 21 January 2005 14:04:31 +0000, Artem B. Bityuckiy wrote:
> > 
> > none
> > 	c->alloc_sem
> > 		f->sem
> RULE: Can not have any f->sem locked if gonna lock f->alloc_sem.

Or c->erase_completion_lock if you want to lock either of the above.
Or c->inocache_lock if you want to lock either of the above.

As a very simple statical deadlock checker, you can draw a graph of
all locks, like I did.  If the graph has cycles, deadlock situations
are possible.

> > 			c->erase_completion_lock
> > 				c->inocache_lock
> > 	c->erase_free_sem
> > 	c->gc_thread_start
> > 
> > 
> > 
> > Protected data structures:
> > 
> > f->sem
> > 	everything inside f?
> Yes. Also if you have f->sem seems you may change f->inocache fields 
> without having c->inocachelock.

That could be a problem.  Will take a while before I can check it.

> > c->alloc_sem
> > 	everything in c but the below?
> No. In essence f->alloc_sem protects flash space. Believe this mutex is 
> misnamed. And tends to lock code, not data.

Since that code writes to flash, it does protect data.  Makes sense,
although one could possibly move the lock down to individual erase
blocks.

> > c->erase_completion_lock
> Misnamed either. David said this is historical. Protects 
> node_ref list.

Ok.

> > 	c->free_list
> > 	c->erasing_list
> > 
> > c->inocache_lock
> > 	c->inocache_list
> Protects inodcache list. Also protects objects in it. Protects ic->state.

Ok.

> > c->erase_free_sem
> > 	???
> David hates this. This is to protect node_refs - they are protected by 
> both c->erase_complition lock and by c->erase_free_sem. Most time you use 
> c->erase_completion lock. But if you need sleep, you use mutex.

Sounds like a good candidate for a patch.

Jörn

-- 
Das Aufregende am Schreiben ist es, eine Ordnung zu schaffen, wo
vorher keine existiert hat.
-- Doris Lessing

  reply	other threads:[~2005-01-25 10:51 UTC|newest]

Thread overview: 196+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-11 12:29 JFFS3 & performance Artem B. Bityuckiy
2005-01-11 14:37 ` Josh Boyer
2005-01-11 21:51 ` Jörn Engel
2005-01-12  0:06   ` Thomas Gleixner
2005-01-12 16:59     ` Jörn Engel
2005-01-12 17:37       ` Thomas Gleixner
2005-01-12 18:17         ` Jörn Engel
2005-01-12  9:15   ` Artem B. Bityuckiy
2005-01-12 16:41     ` Jared Hulbert
2005-01-12 17:02       ` Jörn Engel
2005-01-12 17:06         ` David Woodhouse
2005-01-12 17:11           ` Jörn Engel
2005-01-12 17:22         ` Jared Hulbert
2005-01-12 17:28           ` Artem B. Bityuckiy
2005-01-12 17:34           ` David Woodhouse
2005-01-12 17:45             ` Dan Post
2005-01-12 17:52               ` David Woodhouse
2005-01-12 17:14       ` Artem B. Bityuckiy
2005-01-12 22:30         ` Jared Hulbert
2005-01-12 22:43           ` Josh Boyer
2005-01-12 22:55             ` Jared Hulbert
2005-01-13 15:50               ` Josh Boyer
2005-01-13 18:30                 ` Jared Hulbert
2005-01-13 18:36                   ` David Woodhouse
2005-01-13 19:06                     ` Jörn Engel
2005-01-13 19:22                     ` Josh Boyer
2005-01-13 18:55                   ` Artem B. Bityuckiy
2005-01-13 19:10                     ` Brian Fox
2005-01-13 19:23                       ` Artem B. Bityuckiy
2005-01-28  6:08                   ` Eric W. Biederman
2005-01-13  7:54             ` David Woodhouse
2005-01-13  8:25           ` Artem B. Bityuckiy
2005-01-13 15:09           ` Jörn Engel
2005-01-12 18:10     ` Jörn Engel
2005-01-12 18:27       ` Thomas Gleixner
2005-01-12 18:40         ` Jörn Engel
2005-01-12 18:42           ` David Woodhouse
2005-01-12 18:43           ` Artem B. Bityuckiy
2005-01-12 19:16           ` Thomas Gleixner
2005-01-12 19:44             ` Jörn Engel
2005-01-12 19:53               ` Thomas Gleixner
2005-01-12 20:06                 ` Jörn Engel
2005-01-12 18:33       ` Artem B. Bityuckiy
2005-01-12 18:43         ` Jörn Engel
2005-01-12 18:45           ` Artem B. Bityuckiy
2005-01-12 18:58             ` Artem B. Bityuckiy
2005-01-12 19:50               ` Jörn Engel
2005-01-13 14:49   ` Artem B. Bityuckiy
2005-01-13 15:05     ` Artem B. Bityuckiy
2005-01-13 15:17       ` Jörn Engel
2005-01-13 15:22         ` Artem B. Bityuckiy
2005-01-13 15:40           ` Jörn Engel
2005-01-13 15:49             ` David Woodhouse
2005-01-13 15:53               ` Artem B. Bityuckiy
2005-01-13 16:13               ` Jörn Engel
2005-01-13 16:16                 ` Artem B. Bityuckiy
2005-01-13 16:21                   ` Jörn Engel
2005-01-13 16:22                     ` Artem B. Bityuckiy
2005-01-13 16:21                 ` Artem B. Bityuckiy
2005-01-14 13:46                   ` Jamey Hicks
2005-01-14 14:16                     ` Artem B. Bityuckiy
2005-01-18 15:50                       ` Joakim Tjernlund
2005-01-19 13:07                         ` Artem B. Bityuckiy
2005-01-19 15:24                           ` Jörn Engel
2005-01-19 15:27                             ` Artem B. Bityuckiy
2005-01-19 15:32                               ` Jörn Engel
2005-01-19 15:51                                 ` Artem B. Bityuckiy
2005-01-19 16:31                                   ` Jörn Engel
2005-01-19 19:58                                 ` Artem B. Bityuckiy
2005-01-20 14:35                                   ` Jörn Engel
2005-01-20 14:37                                     ` David Woodhouse
2005-01-20 14:40                                       ` Jörn Engel
2005-01-20 15:05                                     ` Artem B. Bityuckiy
2005-01-20 15:27                                       ` Jörn Engel
2005-01-20 15:37                                         ` Artem B. Bityuckiy
2005-01-20 16:13                                           ` Jörn Engel
2005-01-20 16:31                                             ` Artem B. Bityuckiy
2005-01-20 16:41                                               ` Jörn Engel
2005-01-20 17:08                                                 ` Artem B. Bityuckiy
2005-01-20 17:33                                                   ` Jörn Engel
2005-01-20 17:57                                                     ` Artem B. Bityuckiy
2005-01-21 12:44                                                       ` Jörn Engel
2005-01-21 13:13                                                         ` Artem B. Bityuckiy
2005-01-21 13:42                                                           ` Jörn Engel
2005-01-21 13:52                                                             ` Artem B. Bityuckiy
2005-01-21 14:00                                                               ` Jörn Engel
2005-01-21 14:04                                                             ` Artem B. Bityuckiy
2005-01-25 10:51                                                               ` Jörn Engel [this message]
2005-01-25 10:56                                                                 ` David Woodhouse
2005-01-25 11:13                                                                   ` Jörn Engel
2005-01-21 14:30                                                     ` Josh Boyer
2005-01-21 22:33                                     ` Jared Hulbert
2005-01-21 22:46                                   ` Jared Hulbert
2005-01-21 23:54                                     ` Josh Boyer
2005-01-22 13:03                                     ` Artem B. Bityuckiy
2005-01-22 22:04                                       ` David Woodhouse
2005-01-23 10:03                                         ` Artem B. Bityuckiy
2005-01-23 10:08                                           ` Artem B. Bityuckiy
2005-01-23 11:04                                           ` David Woodhouse
2005-01-23 11:55                                             ` Artem B. Bityuckiy
  -- strict thread matches above, loose matches on Subject: below --
2004-12-16 13:20 Joakim Tjernlund
2004-12-16 14:27 ` Artem B. Bityuckiy
2004-12-16 14:45   ` Joakim Tjernlund
2004-12-16 14:50     ` Artem B. Bityuckiy
2004-12-16 15:00       ` Joakim Tjernlund
2004-12-16 17:53     ` Jörn Engel
2004-12-16 18:42       ` Artem B. Bityuckiy
2004-12-16 19:15         ` Jörn Engel
2004-12-16 19:49           ` Jörn Engel
2004-12-16 19:58             ` Joakim Tjernlund
2004-12-16 20:46               ` Jörn Engel
2004-12-16 20:02             ` Joakim Tjernlund
2004-12-16 20:37               ` Thomas Gleixner
2004-12-16 20:51                 ` Jörn Engel
2004-12-16 21:02                   ` Thomas Gleixner
2004-12-16 21:06                   ` Joakim Tjernlund
2004-12-16 21:22                     ` Jörn Engel
2004-12-16 22:06                       ` Joakim Tjernlund
2004-12-17 10:25                         ` Jörn Engel
2004-12-17 10:44                           ` Joakim Tjernlund
2004-12-17 10:56                             ` Artem B. Bityuckiy
2004-12-17 10:46                               ` jasmine
2004-12-17 11:01                                 ` Artem B. Bityuckiy
2004-12-17 11:19                                   ` Joakim Tjernlund
2004-12-18 16:09                                     ` Jörn Engel
2004-12-18 16:26                                       ` Joakim Tjernlund
2004-12-18 16:52                                         ` Jörn Engel
2004-12-17 11:10                               ` Joakim Tjernlund
2004-12-17 11:20                                 ` Artem B. Bityuckiy
2004-12-22 13:36                                   ` Artem B. Bityuckiy
2004-12-22 14:03                                     ` Jörn Engel
2004-12-22 14:44                                       ` Artem B. Bityuckiy
2004-12-22 15:14                                         ` Jörn Engel
2004-12-22 15:25                                           ` Artem B. Bityuckiy
2004-12-22 16:08                                             ` Jörn Engel
2004-12-22 20:22                                             ` xemc
2004-12-22 20:43                                               ` xemc
2004-12-22 20:49                                                 ` Jasmine Strong
2004-12-22 15:30                                           ` Joakim Tjernlund
2004-12-22 15:37                                             ` Artem B. Bityuckiy
2004-12-22 15:47                                               ` Joakim Tjernlund
2004-12-22 15:56                                                 ` Artem B. Bityuckiy
2004-12-22 16:09                                                   ` Jörn Engel
2004-12-22 16:17                                                     ` Artem B. Bityuckiy
2004-12-22 16:43                                                       ` Joakim Tjernlund
2004-12-22 16:46                                                         ` Artem B. Bityuckiy
2004-12-22 17:26                                                       ` Jörn Engel
2004-12-22 18:14                                                         ` xemc
2004-12-22 18:20                                                           ` Artem B. Bityuckiy
2004-12-23 13:52                                                           ` Jörn Engel
2004-12-23 17:02                                                             ` Artem B. Bityuckiy
2005-01-07 11:10                                                               ` Artem B. Bityuckiy
2005-01-07 11:09                                                                 ` David Woodhouse
2005-01-07 11:27                                                                   ` jasmine
2005-01-07 11:43                                                                     ` Artem B. Bityuckiy
2005-01-07 14:23                                                                       ` Artem B. Bityuckiy
2005-01-07 14:27                                                                         ` jasmine
2005-01-07 14:33                                                                           ` Artem B. Bityuckiy
2005-01-07 14:37                                                                             ` jasmine
2005-01-07 14:43                                                                               ` Artem B. Bityuckiy
2005-01-07 14:55                                                                                 ` jasmine
2005-01-07 15:20                                                                                   ` Artem B. Bityuckiy
2005-01-07 15:24                                                                                     ` jasmine
2005-01-07 15:28                                                                                       ` Artem B. Bityuckiy
2005-01-07 15:31                                                                                         ` jasmine
2005-01-07 15:32                                                                                           ` Artem B. Bityuckiy
2005-01-07 17:57                                                                                       ` Artem B. Bityuckiy
2005-01-07 14:50                                                                               ` Artem B. Bityuckiy
2005-01-07 14:31                                                                         ` Artem B. Bityuckiy
2005-01-06 10:08                                                             ` Artem B. Bityuckiy
2005-01-08 20:14                                                               ` Jörn Engel
2005-01-09 11:39                                                                 ` Artem B. Bityuckiy
2005-01-10 14:24                                                                   ` Jörn Engel
2004-12-22 15:59                                                 ` jasmine
2004-12-22 16:19                                                   ` Jörn Engel
2004-12-22 16:21                                                   ` Artem B. Bityuckiy
2004-12-22 15:56                                             ` Jörn Engel
2004-12-22 16:39                                               ` Joakim Tjernlund
2004-12-22 17:33                                                 ` Jörn Engel
2004-12-17 11:20                               ` Jörn Engel
2004-12-18 12:23                                 ` Artem B. Bityuckiy
2004-12-21 14:45       ` Artem B. Bityuckiy
2004-12-21 16:03         ` Jörn Engel
2004-12-17 11:33 ` David Vrabel
2004-12-17 15:34   ` Joakim Tjernlund
2004-12-18 16:14   ` Jörn Engel
2004-12-18 16:25     ` Joakim Tjernlund
2004-12-18 16:39       ` Jörn Engel
2004-12-18 17:10     ` Joakim Tjernlund
2004-12-18 17:19       ` Jörn Engel
2004-12-18 17:51         ` Joakim Tjernlund
2004-12-18 17:59           ` Jörn Engel
2004-12-18 18:13             ` Joakim Tjernlund
2004-12-19  3:05               ` Jörn Engel
2004-12-18 18:09           ` Joakim Tjernlund
2004-12-21 14:38 ` Jörn Engel

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=20050125105140.GC29797@wohnheim.fh-wedel.de \
    --to=joern@wohnheim.fh-wedel.de \
    --cc=dedekind@infradead.org \
    --cc=linux-mtd@lists.infradead.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