static void bm_page_io_async(struct bm_aio_ctx *ctx, int page_nr, int rw) __must_hold(local)
 {
        /* we are process context. we always get a bio */
-       struct bio *bio = bio_alloc(GFP_KERNEL, 1);
+       struct bio *bio = bio_alloc(GFP_NOIO, 1);
        struct drbd_conf *mdev = ctx->mdev;
        struct drbd_bitmap *b = mdev->bitmap;
        struct page *page;
         * as we submit copies of pages anyways.
         */
 
-       ctx = kmalloc(sizeof(struct bm_aio_ctx), GFP_KERNEL);
+       ctx = kmalloc(sizeof(struct bm_aio_ctx), GFP_NOIO);
        if (!ctx)
                return -ENOMEM;
 
                return 0;
        }
 
-       ctx = kmalloc(sizeof(struct bm_aio_ctx), GFP_KERNEL);
+       ctx = kmalloc(sizeof(struct bm_aio_ctx), GFP_NOIO);
        if (!ctx)
                return -ENOMEM;