Writes to FIFO named pipe block and generate filesystem I/O in Red Hat Enterprise Linux

Solution Verified - Updated -

Issue

When creating a FIFO (named pipe) for Inter process Communication (IPC), the writing application blocks under heavy filesystem I/O even though the open() call used the option O_NONBLOCK and O_NOATIME.

This was unexpected because it was thought that the FIFO is not actually writing data to the disk but only using the filesystem for its namespace for access by programs (e.g. /var/MY-FIFO). Any data should be flowing directly from the writer to the reader via the kernel and not actually written to the filesystem or harddisk.

Environment

Red Hat Enterprise Linux (RHEL) 6
Red Hat Enterprise Linux (RHEL) 5

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content