>>> So it's basically dm calling into blk_unplug() all the time, whichWhen should dm/md set the plugged flag? It has several disks (or more dm/md layers), some of them may be plugged, some not --- furthermore, the disk queues are shared by other devices --- there may be more devices on different partitions. So the question: when do you want dm/md to set the plugged bit? Do you really want to plug the queue at the top layer and merge requests there? I changed generic_unplug_device from: spin_lock() if (plugged bit is set) unplug...; spin_unlock() to: if (plugged bit is set) { spin_lock() if (plugged bit is set) unplug...; spin_unlock() } --- I don't see anything wrong with it. At least, the change is so trivial that we can be sure that it won't have negative effect on performance. What you propose is complete rewrite of dm/md plugging mechanism to plug the queue and merge requests at upper layer --- the questions are: - what exactly you are proposing? (plugging at upper layer? lower layer? both layers? don't plug and just somehow propagate the plugged bit?) - why are you proposing that? Note that for some dm targets it would be benefical to join the requests at upper layer (dm-linear, raid1), for others (raid0, dm-snapshots) it damages performance (you merge the requests before passing them to raid0 and you chop them again to smaller pieces in raid0). Mikulas --
| David Miller | Re: [patch 7/8] fdmap v2 - implement sys_socket2 |
| Sean | Re: [AppArmor 39/45] AppArmor: Profile loading and manipulation,pathname matching |
| Andi Kleen | Re: missing madvise functionality |
| Alan Cox | [PATCH 03/57] ali: watchdog locking and style |
git: | |
| Guido Ostkamp | [PATCH] Fix Solaris Workshop Compiler issues |
| David Lang | Re: mingw, windows, crlf/lf, and git |
| Johannes Schindelin | Re: [kernel.org users] [RFD] On deprecating "git-foo" for builtins |
| Johannes Schindelin | Re: [PATCH] Fix off by one error in prep_exclude. |
| Marco Peereboom | Re: Real men don't attack straw men |
| patrick keshishian | SMTP flood + spamdb |
| Marcos Laufer | dmesg IBM x3650 OpenBSD 4.3 |
| Nick Holland | Re: The Atheros story in much fewer words |
| Hans de Goede | Re: cat /proc/net/tcp takes 0.5 seconds on x86_64 |
| Stephen Hemminger | [RFC] TCP illinois max rtt aging |
| Tilman Schmidt | Re: 2.6.25-rc8: FTP transfer errors |
| Evgeniy Polyakov | Re: Network/block layer race. |
| high memory | 15 hours ago | Linux kernel |
| semaphore access speed | 18 hours ago | Applications and Utilities |
| the kernel how to power off the machine | 19 hours ago | Linux kernel |
| Easter Eggs in windows XP | 22 hours ago | Windows |
| Shared swap partition | 22 hours ago | Linux general |
| Root password | 23 hours ago | Linux general |
| Where/when DNOTIFY is used? | 1 day ago | Linux kernel |
| How to convert Linux Kernel built-in module into a loadable module | 1 day ago | Linux kernel |
| Linux 2.6.24 and I/O schedulers | 1 day ago | Linux kernel |
| USB Driver -- Interrupt Polling -- A Little Help Please | 1 day ago | Linux general |
