On Tue, Aug 18, 2020 at 11:54:51AM +0100, Jim Baxter wrote: > On 17/08/2020 19:47, Alan Stern wrote: > > > > Unplugging a R/W USB drive without unmounting it first is a great way to > > corrupt the data. > > > Thank you, post development we will only mount the USB stick as R/O. > > >> Using perf Iidentified the hub_events workqueue was spending a lot of time in > >> invalidate_partition(), I have included a cut down the captured data from perf in > >> [2] which shows the additional functions where the kworker spends most of its time. > > > > invalidate_partition() is part of the block layer, not part of USB. It > > gets called whenever a drive is removed from the system, no matter what > > type of drive it is. You should ask the people involved in that > > subsystem why it takes so long. > > > > I included the linux-mm list but missed the filesystem, I will ask the question > to the linux-fsdevel too. What about linux-block? The block layer is different from the memory-management (mm) layer. Alan Stern