Re: [PATCH 1/2] Add userspace device-mapper target

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

DS> I'll take a stab at making this change and will post it when I
DS> have something working...

I've got a hacked-up version running that allows userspace to provide
a pointer to a buffer to be written after the original bio completes.
This seems to work pretty well, but I haven't added support to the
library or my cow application, so I'm not sure how the performance
differs.

There is something that needs to be resolved, however.  Currently,
bio_map_user() assumes it is being run in process context.  Since we
defer to a kthread for all ring buffer processing, we can't easily
construct the extra bios.  So, there are two paths forward that I can
think of:

1. Redesign how we process messages going to the kernel.  Userspace
   could mark them as "tentatively ready" and then do the write()
   which just goes through and constructs extra bios and marks them
   "ready".  This seems undesirable to me, because we're increasing
   the amount of time that userspace is blocked in the kernel.

2. Add a bio_map_user_from() call to the kernel, which behaves just
   like bio_map_user(), but takes a struct task struct pointer to the
   process to map from, thus allowing the kthread to construct the
   bios asynchronously.  I have a patch cooked up to do this, but I'm
   worried that it might be rather controversial.

Thoughts?

- -- 
Dan Smith
IBM Linux Technology Center
Open Hypervisor Team
email: danms@xxxxxxxxxx
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFF2b9PwtEf7b4GJVQRAv7vAJ4uU18Bnm0SSZl+ey6Np2NAf5uDagCdHzRY
0P/AK4VG1H99apotu11toow=
=j1Yp
-----END PGP SIGNATURE-----

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel

[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux